迭代时从中移除一个集合

时间:2017-04-30 09:09:48

标签: java set

我现在已经坚持了一段时间。我试图删除一组的元素,如果他们制定一套标准。但是当我尝试删除元素时迭代它失败了。

我得到了java.util.ConcurrentModificationException

private static void smallerSet(Set<Map<String, Int>> set){

    for (Map<String, Integer> map : set){

        for (String String : map.keySet()){

            if ( true){
                set.remove(map);

            }
            else{
                //System.out.println("test");


            }

        }
    }
}

非常感谢任何建议。

1 个答案:

答案 0 :(得分:1)

使用增强的for循环迭代时,您无法从Collection中删除元素。

您应该使用明确的Iterator并使用Iterator的{​​{1}}方法删除:

remove()