我是学生,所以我不是专家。我正在尝试执行以下操作:
我有一个带有一些键(String)和值(String [])的HashMap。我还有一个包含所有同义词的file.txt。我试图将同义词添加到我的HashMaps中,并获取现有Key的值(同义词的同义词)。
这是我的HashMap:
HashMap<String, String[]> qA = new HashMap<String, String[]>();
这是我的代码:
for (Map.Entry<String, String[]> entry : getqA().entrySet()) {
for (String synonym : getSynonym(entry.getKey()))
addWord(synonym.toLowerCase(), entry.getValue());
}
方法getqA返回HashMap。方法addWord几乎与nameOfTheHashMap.put();
相同方法getSynonym(String word):
public String[] getSynonym(String word) {
for (String[] list : abc)
for (String wordIntoList : list)
if (wordIntoList.toLowerCase().equals(word.toLowerCase().replace(" ", "")))
return list;
return new String[] {};
}
“abc”是ArrayList<String[]>
(包含file.txt),它在每个索引上都包含一行。由具有相同含义的sinonyms形成一条线。
如何修复错误ConcurrentModificationException?正如我所说,我不是专家,这是我学习Java的第一年。我试图查看其他主题,但我无法解决问题。
提前致谢!
根据要求,我的addWord方法:
public static void addWord(String key, String[] values) {
qA.put(key, values);
}