我是靠谱客的博主 感性黑猫,最近开发中收集的这篇文章主要介绍遍历集合时删除元素,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、list

@Test
public void test2(){
        List<Books> list = new ArrayList();
        list.add(new Books(1,"java",2,"java1"));
        list.add(new Books(2,"Oracle",2,"Oracle1"));
        list.add(new Books(2,"Oracle",2,"Oracle1"));
        list.add(new Books(3,"小猪",2,"小猪1"));
        for (Books books : list){
        if((books.getName()).equals("小猪")){
        list.remove(books);
        }
        }

}

如果进行for循环遍历并删除数据时,会出现如下异常

解决方法:

(1)、使用java8新出的removeIf

list.removeIf(l->l.getName().equals("小猪"));
list.forEach(System.out::println);

(2)、使用Iterator遍历

Iterator<Books> it = list.iterator();
while (it.hasNext()){
Books b = it.next();
if(b.getName().equals("小猪")){
it.remove();
}
}

2、map

map.entrySet().removeIf(m->m.getKey().equals(2));
Set<Integer> keys1 = map.keySet();
for(int k:keys1){
System.out.println(k+"=="+map.get(k));
}

最后

以上就是感性黑猫为你收集整理的遍历集合时删除元素的全部内容,希望文章能够帮你解决遍历集合时删除元素所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部