我有有字符串形式key/value
對喜歡的人的文件和計數,例如將HashMap的:添加與普通鍵的值,並打印出來
"Reggy, 15"
"Jenny, 20"
"Reggy, 4"
"Jenny, 5"
,並在輸出我都總結基於密鑰計數值,所以在我們的例子輸出是
「Reggy,19」 「珍妮,25」
這裏是我的方法:
- 閱讀每行和每行獲取密鑰,並使用掃描儀,並具有
,
作爲分隔符 - 現在看關鍵是已經存在之前,如果然後只需添加currentValues到previousValues如果沒有的話拿CurrentValue的作爲HashMap中的值數。
示例實現:
public static void main(final String[] argv) {
final File file = new File("C:\\Users\\rachel\\Desktop\\keyCount.txt");
try {
final Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
if (scanner.hasNext(".*,")) {
String key;
final String value;
key = scanner.next(".*,").trim();
if (!(scanner.hasNext())) {
// pick a better exception to throw
throw new Error("Missing value for key: " + key);
}
key = key.substring(0, key.length() - 1);
value = scanner.next();
System.out.println("key = " + key + " value = " + value);
}
}
} catch (final FileNotFoundException ex) {
ex.printStackTrace();
}
}
部分我不明白的是如何,而在閱讀他們,並基於該創建HashMap的劃分鍵/值對。
此外,這種方法是建議最佳的方法,或者是否有一種方法來提高性能。
沒有嘗試的'#的java.util.HashMap的containsKey(),把(),獲得()'? – ogzd 2013-02-08 22:14:28
這是「僞代碼」:-) http://en.wikipedia.org/wiki/Pseudocode – dnault 2013-02-08 22:14:57