List遍历删除元素(使用迭代器)

List遍历删除元素

1.错误方法:使用forEach循环

//准备数据
List<Integer> list=new ArrayList<>();
list.add(2);
list.add(3);
list.add(4);
list.add(2);
//遍历
list.forEach(i->{
    System.out.print(i + "  ");
});
//删除元素
list.forEach(i->{
    if (i==3){
        list.remove(i);
    }
});
//输出
list.forEach(i->{
    System.out.print(i + "  ");
});

结果:报以下异常

java.util.ConcurrentModificationException

2.正确方式:使用iterator迭代器

//准备数据
List<Integer> list=new ArrayList<>();
list.add(2);
list.add(3);
list.add(4);
list.add(2);
//遍历
list.forEach(i->{
    System.out.print(i + "  ");
});
//获取迭代器
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()){
    Integer next = iterator.next();
    if (next==3){
        //用迭代器删除
        iterator.remove();
    }
}
//输出
list.forEach(i->{
    System.out.print(i + "  ");
});

结果为:删除成功

# 控制台输出以下内容
2  3  4  2 
2  4  2
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 创建List和ArrayList对象可以使用构造函数,比如:List list = new ArrayList(); 添加列表元素可以使用add()方法,比如:list.add("Element"); 使用迭代器遍历列表可以使用Iterator()方法,比如:Iterator iterator = list.iterator(); 使用迭代器删除列表中的指定元素可以使用remove()方法,比如:iterator.remove(); ### 回答2: 列表处理是可以使用List和ArrayList来创建对象的。ListJava集合框架中的一个接口,而ArrayListList接口的一个实现类。 使用List和ArrayList来创建对象非常简单,只需在代码中实例化一个List类型的变量即可。例如: List<String> list = new ArrayList<>(); 要向列表中添加元素,可以使用add()方法。例如,要向上述的list列表中添加一个名为"元素1"的元素,可以使用以下代码: list.add("元素1"); 要使用迭代器遍历列表,可以通过调用list的iterator()方法来获取迭代器对象,然后使用while循环来遍历列表中的每个元素。例如: Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { String element = iterator.next(); // 对元素进行操作,例如打印输出 System.out.println(element); } 要使用迭代器删除列表中的指定元素,可以使用remove()方法。例如,要删除上述list列表中的名为"元素1"的元素,可以使用以下代码: Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { String element = iterator.next(); if (element.equals("元素1")) { iterator.remove(); } } 总之,使用List和ArrayList来处理列表非常方便。创建对象、添加元素、遍历列表、删除指定元素都可以通过相应的方法来实现。 ### 回答3: 在Java的列表处理中,List和ArrayList是两种常用的数据结构类型。 首先,我们可以使用以下方式创建List和ArrayList的对象: List<String> list = new ArrayList<>(); ArrayList<String> arrayList = new ArrayList<>(); 接下来,我们可以使用add()方法向列表中添加元素,如下所示: list.add("元素1"); arrayList.add("元素2"); 对于列表的遍历,我们可以使用迭代器来完成,迭代器可以通过list.iterator()方法或者arrayList.iterator()方法获取: Iterator<String> iterator = list.iterator(); Iterator<String> arrayListIterator = arrayList.iterator(); 然后,我们可以使用while循环和hasNext()方法遍历整个列表: while(iterator.hasNext()){ String element = iterator.next(); System.out.println(element); } 对于ArrayList对象,我们还可以使用remove()方法来删除列表中的指定元素,如下所示: arrayList.remove("元素2"); 需要注意的是,由于List是接口,而ArrayListList的实现类,我们可以将ArrayList对象赋值给List类型的变量,但是我们无法直接使用ArrayList特有的方法,只能使用List接口中的方法。 综上所述,使用List和ArrayList创建对象、添加列表元素、使用迭代器遍历列表以及使用迭代器删除列表中的指定元素是Java列表处理中常见的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值