0
我的Java代碼存在問題。我想要將多個值存儲在一個密鑰中,但我想要靈活地存儲它們。這意味着我從文本文件讀取,每行都是一個字。爲了存儲它們,我想建立一對單詞。例如:Java HashMap具有多個值的多個鍵分配靈活
WORD1/WORD2
WORD2/WORD3
WORD3/word4
我已經改變此方法一點點。我想將鍵的值存儲在一個數組列表中。這意味着每次當一個新的密鑰出現時,一個新的Arraylist和密鑰將被存儲,但是如果該密鑰在地圖中,我想將它們存儲在該密鑰的列表中。這可能嗎?
我們必須將它們存儲在散列表中。但我無法得到它的工作:
private HashMap<String, ArrayList<String>> hmap = new HashMap<String, ArrayList<String>>();
private ArrayList<String> wort2;
public GrammelotH(String filename) throws IOException {
String fixWort = ".";
BufferedReader br = new BufferedReader(new FileReader(filename));
while (br.ready()) {
String line = br.readLine();
if (hmap.containsKey(fixWort)) {
hmap.put(fixWort, wort2.add(line));
}else {
hmap.put(fixWort, new ArrayList<String>().add(line));
}
fixWort = line;
}
br.close();
}
問題是放置順序。有你一個人知道如何獲得
hmap.put(fixWort, new ArrayList<String>().add(line));
和
hmap.put(fixWort, wort2.add(line));
工作?
謝謝你的幫助! 再見!
是的!秒後,我發佈了第一篇文章,我爲它創建了一個解決方案.....我應該發佈它作爲一個「答案」? – Felix
@Felix如果這解決了問題(即使你已經解決了問題),我建議將它標記爲未來用戶接受的 – Chris
好的,謝謝你的幫助! – Felix