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));
}
最后
以上就是感性黑猫最近收集整理的关于遍历集合时删除元素的全部内容,更多相关遍历集合时删除元素内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复