迭代(遍历)时候不可以使用集合的remove和add方法,但可使用Java迭代器的remove和add方法

来源:互联网 发布:人工智能的伦理困境 编辑:程序博客网 时间:2024/05/20 13:09
@Test
public void testRemoveOne(){
Collection<String> eggs=new ArrayList<String>();
eggs.add("鸡蛋");
eggs.add("鸡蛋");
eggs.add("坏蛋");
eggs.add("鸡蛋");
System.out.println(eggs);
//使用迭代器遍历处理集合中的每个“蛋”
Iterator<String> ite=eggs.iterator();
while(ite.hasNext()){
String egg=ite.next();
//找到是坏蛋就删除之
if(egg.equals("坏蛋")){
eggs.remove(egg);
// break;
}
System.out.println(egg);
}

}

//以上方法删除“坏蛋”失败,可以使用以下方法正确删除“坏蛋”

@Test
public void testIteratorRemove(){
Collection<String> eggs=new ArrayList<String>();
eggs.add("坏蛋");
eggs.add("鸡蛋");
eggs.add("鸭蛋");
eggs.add("鸡蛋");
System.out.println(eggs);
Iterator<String> ite=eggs.iterator();
while(ite.hasNext()){
String egg=ite.next();
if("坏蛋".equals(egg))
ite.remove();    //使用Java迭代器的remove和add方法正确删除“坏蛋”
}
System.out.println(eggs);
}

0 0
原创粉丝点击