这段代码应该创建一组数字(集合),将20个不同的数字放入其中,并从集合中删除所有大于1的数字。但当我运行它时,出现了一个错误:ConcurrentModificationException,
public class Solution
{
public static void main(String[] args) throws Exception
{
HashSet<Integer> a= createSet();
a.addAll(removeAllNumbersMoreThan10(a));
for (Integer nr: a)
System.out.println(nr);
}
public static HashSet<Integer> createSet()
{
//add your code here
HashSet<Integer> set = new HashSet<Integer>();
for(int i = 0; i < 20; i++)
{
set.add(i);
}
return set;
}
public static HashSet<Integer> removeAllNumbersMoreThan10(HashSet<Integer> set)
{
//add your code here
for (Integer nr: set)
{
//System.out.println(nr);
if (nr > 10)
{
set.remove(nr);
}
}
return set;
}
}
在迭代时不能修改
集合,除非使用迭代器
。将RemoveAllNumbersMotHan10
更改为:
public static HashSet<Integer> removeAllNumbersMoreThan10(HashSet<Integer> set){
//add your code here
for (Iterator<Integer> iterator = set.iterator(); iterator.hasNext();){
//System.out.println(nr);
int nr = iterator.next();
if (nr > 10){
iterator.remove();
}
}
return set;
}
此外,还有一些其他建议:
>
RemoveAllNumbersMotHan10
不需要修改参数中传递的集合。它需要创建一个新的集合,修改它并返回它。
员工与部门之间的关联是多对多的双向关联。 我正在尝试在删除受雇者之前删除关联
现在,这段代码运行良好,该项从p对象和jlist中都被删除,但它在it.next()行抛出一个“ConcurrentModificationException”异常。 我怎么解决这个?
问题内容: 我从下面的代码中获得,我可以找到原因。我可以成功地从csv文件读取数据,并创建一个名为课程列表的arraylist。那么我需要将其排序到一个数组列表,该数组的每个单元格都包含相同课程(名称相似的课程)的数组列表。但是当我运行它时会生成ConcurrentModificationException,我不明白为什么… 这是我的CourefileSorterclass: 问题答案: 将它们分
实际上,在按下一个按钮后,我有一个方法可以检查itemStorico ArrayList中是否存在从itemModel添加的新项,然后如果该项存在于名为itemModel的新列表中,我将从itemStorico中删除旧项并添加新项,否则只添加新项而不删除旧项。 但我得到以下错误: 下面是我的方法中的代码:
我不确定是什么导致了这个例外。
我正在尝试使用此查询删除具有重复的列值的行: 但这给了 查询看起来很好。我错过了什么?