You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Chen (Jira)" <ji...@apache.org> on 2019/11/11 08:54:00 UTC

[jira] [Updated] (COLLECTIONS-734) Encountered an IllegalStateException while traversing with Flat3Map.entrySet()

     [ https://issues.apache.org/jira/browse/COLLECTIONS-734?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chen updated COLLECTIONS-734:
-----------------------------
    Description: 
 Encountered an IllegalStateException while traversing with Flat3Map.entrySet()
{code:java}
//代码示例
    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());
    }
{code}
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](https://github.com/apache/commons-collections/pull/115) to fix this bug.


  was:
 Encountered an IllegalStateException while traversing with Flat3Map.entrySet()
{code:java}
//代码示例
    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());
    }
{code}
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.



>  Encountered an IllegalStateException while traversing with Flat3Map.entrySet()
> -------------------------------------------------------------------------------
>
>                 Key: COLLECTIONS-734
>                 URL: https://issues.apache.org/jira/browse/COLLECTIONS-734
>             Project: Commons Collections
>          Issue Type: Bug
>          Components: Map
>    Affects Versions: 3.0
>            Reporter: Chen
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
>  Encountered an IllegalStateException while traversing with Flat3Map.entrySet()
> {code:java}
> //代码示例
>     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());
>     }
> {code}
> 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](https://github.com/apache/commons-collections/pull/115) to fix this bug.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)