java循环中如何删除集合中的元素

public void remove(){
  List<String> list = new ArrayList<String>();
  list.add("a");
  list.add("b");
  list.add("a");
  list.add("c");
  list.add("d");
  Iterator<String> it = list.iterator();
  while(it.hasNext()){
   String str = it.next();
   if(str.contains("a")){
    it.remove();
   }else{
    System.out.println(str);
   }
  }
  //如果使用下面的方法进行删除则会出现问题,因为这种删除方法改变了下标索引
  /*for(String str:list){
   if(str.contains("a")){
    list.remove(str);
   }
   System.out.println(str);
  }*/
 }

你可能感兴趣的:(java循环中如何删除集合中的元素)