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

1、list

复制代码
1
2
@Test public void test2(){
复制代码
1
2
3
4
5
6
7
8
9
10
        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

复制代码
1
2
list.removeIf(l->l.getName().equals("小猪")); list.forEach(System.out::println);

(2)、使用Iterator遍历

复制代码
1
2
3
4
5
6
7
Iterator<Books> it = list.iterator(); while (it.hasNext()){ Books b = it.next(); if(b.getName().equals("小猪")){ it.remove(); } }

2、map

复制代码
1
2
3
4
5
map.entrySet().removeIf(m->m.getKey().equals(2)); Set<Integer> keys1 = map.keySet(); for(int k:keys1){ System.out.println(k+"=="+map.get(k)); }

最后

以上就是感性黑猫最近收集整理的关于遍历集合时删除元素的全部内容,更多相关遍历集合时删除元素内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部