【发布时间】:2016-05-22 07:56:23
【问题描述】:
Multiset<String> ngrams = HashMultiset.create();
//added strings to the multiset...
for (Entry<String> entry : ngrams.entrySet()) {
if (entry.getCount() > 3) {
ngrams.setCount(terms, 3);
}
}
抛出ConcurrentModificationException
如何使用setCount() 而不抛出此异常?一些 Java 8 代码在这里有用吗?
【问题讨论】:
-
您可能不应该在迭代
ngrams集时对其进行修改。 -
创建一个新的
Multiset<String>,ngrams中的每个条目最多计数 3 个。 -
此类异常几乎意味着告诉您在迭代该集合时不要修改某种集合。