我有不合邏輯的字符串列表,例如:
Scanner s = new Scanner(
"m29 523\n" +
"b34 827\n" +
"p42 235\n" +
"b34 294\n" +
"t78 421\n" +
"t78 673\n" +
"c93 173\n" +
"k46 925\n" +
"k46 322\n" +
"x21 644\n");
那麼我想打破字符串中的兩個部分 - 前和空間後, ,刪除重複項,並在重複項(b34,t78,k46)中只留下最大值(空白後)。我的意思是這樣的輸出:
"m29 523"
"b34 827"
"p42 235"
"t78 673"
"c93 173"
"k46 925"
"x21 644"
至於兩個部分打破和消除我用這樣的代碼複製,它的確定對我來說:
Map<String, ArrayList<String>> list = new HashMap<String, ArrayList<String>>();
while (s.hasNext()){
String key = s.next();
if(!list.containsKey(key));
list.put(key, new ArrayList<String>());
list.get(key).add(s.next());
}
System.out.println(list);
但不明白我怎麼會在這裏可以實現的比較字符串的第二部分獲得最大值?的Integer.parseInt(list.get(鍵))?
謝謝,真的很簡單=)。這幫助了我。 – devger