概述
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)); }
最后
以上就是感性黑猫为你收集整理的遍历集合时删除元素的全部内容,希望文章能够帮你解决遍历集合时删除元素所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复