Description
Encountered an IllegalStateException while traversing with Flat3Map.entrySet()
//代码示例 public void testEntrySet() { final Flat3Map<Integer, String> map = new Flat3Map<>(); map.put(1, "A"); map.put(2, "B"); map.put(3, "C"); Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator(); Map.Entry<Integer, String> mapEntry1 = it.next(); Map.Entry<Integer, String> mapEntry2 = it.next(); Map.Entry<Integer, String> mapEntry3 = it.next(); it.remove(); assertEquals(2, map.size()); }
Using the above code will generate an IllegalStateException.
The reason for this problem is that there is a problem with the EntryIterator.remove() method in the Flat3Map java class.
I submitted a PR(https://github.com/apache/commons-collections/pull/115) to fix this bug.
Attachments
Issue Links
- links to