У меня есть HashMap:Удалить запись из HashMap
public static Map<String, Set<String>> adjMap = new HashMap<String, Set<String>>();
adjMap.put(title, new HashSet<String>());
adjMap.get(title).add(cutTitle(graphLink));
Теперь я хочу сделать удалить все записи из значений (HashSet), который не содержит в качестве ключа.
Вот мой код до сих пор:
for(String s: adjMap.keySet()){
for(Set<String> s1: adjMap.values()){
for(String s2: s1){
if(!s.contains(s2)){
s1.remove(s2);
}
}
}
}
Но я получаю исключение:
Исключение в потоке "главный" java.util.ConcurrentModificationException
Вы пытаетесь модифицировать цикл Hashset в Foreach отдельно от своего собственного итератора. –
Используйте 'ConcurrentHashMap' вместо' HashMap' –