在调试中eclispse收藏我只是检查有一个名为modCount的,例如,如果我们调试名单,而在调试一下这个modCount的代表...检查,我们将看到的东西!请指教
Answer 1:
请参阅的javadoc
次此名单已结构上修改的次数 。 结构上修改是指更改列表的大小,或者以其他方式干扰它以这样的方式,在正在进行的迭代产生不正确的结果。
此字段由iterator和listIterator方法返回的迭代器和列表迭代器实现使用。 如果该字段的值意外更改,迭代器(或列表迭代器)将响应抛出ConcurrentModificationException到下一个,删除以前,设置或添加操作。 这提供了快速失败行为,而不是并发修改的面迭代过程中不确定性的行为。
由子类使用此字段是可选的。 如果子类希望提供快速失败迭代器(和列表迭代器),那么它仅仅需要增加这一领域中它的add(INT,E)和remove(int)的方法(和它覆盖在结构这一结果的任何其他方法修改列表)。 一个调用ADD(INT,E)或删除(INT)必须不超过一到这个领域,或迭代器(和列表迭代器)将抛出虚假ConcurrentModificationExceptions。 如果实现不希望提供快速失败迭代器,这个领域可能会被忽略。
Answer 2:
这是使用迭代集合时,检测修改集合计数器:迭代器是快速失败,并抛出一个异常,如果集合了迭代过程中被修改。 modCount
用于跟踪的修改。
仅供参考,标准类的来源是JDK的一部分,你可以阅读他们了解标准类是如何工作的。
文章来源: ModCount in map and list