Java中如何使用遍历的方式删除list中的数据呢?

乔欣 Java经验 发布时间:2022-12-08 14:28:44 阅读数:11851 1
下文笔者讲述使用遍历的方式删除list中的数据的方法分享,如下所示
实现思路:
    使用list的remove方法
例:

for循环

for(int i=0;i<list.size();i++){
    if(list.get(i).equals("del"))
        list.remove(i);
}
应该改为:(倒序操作避免下标问题)

int size = list.size();
for(int i=size-1;i>=0;i--){
    if(list.get(i).equals("del"))
        list.remove(i);
}

增强for循环(foreach循环)

常见错误:
  会抛出ConcurrentModificationException

for(String x:list){
    if(x.equals("del"))
        list.remove(x);
}

修改为

//cowlist为原list
CopyOnWriteArrayList<Record> list = new CopyOnWriteArrayList<Record>(cowList);
for(String x:list){
    if(x.equals("del"))
        list.remove(x);
}

iterator遍历
注意要是用迭代器的remove方法
不能使用list的remove方法

Iterator<String> it = list.iterator();
while(it.hasNext()){
    String x = it.next();
    if(x.equals("del")){
        it.remove();
    }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202212/16704822195075.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者