需求:遍历集合,当遇到mango的时候,向集合中添加一个元素"java"
public class ListDemo2 {
public static void main(String[] args) {
List list1 = new ArrayList();
list1.add("hello");
list1.add("apple");
list1.add("banana");
list1.add("watermelon");
list1.add("mango");
list1.add("peach");
list1.add("pear");
System.out.println("list1: " + list1);
System.out.println("======================================");
//1、转数组遍历
// Object[] objects = list1.toArray();
// for(int i=0;i<objects.length;i++){
// Object obj = objects[i];
// String s = (String) obj;
// if("mango".equals(s)){
// list1.add("java");
// }
// }
// System.out.println("list1: "+list1);
// System.out.println("======================================");
//2、使用迭代器遍历 不可取,是错误的
// Iterator iterator = list1.iterator();
// while (iterator.hasNext()){
// Object obj = iterator.next();
// String s = (String) obj;
// if("mango".equals(s)){
// list1.add("java");
// }
// }
// System.out.println("list1: "+list1);
//使用List集合中特有的迭代器进行遍历比较,且使用它进行添加元素
ListIterator listIterator = list1.listIterator();
while (listIterator.hasNext()) {
String i = (String) listIterator.next();
if ("mango".equals(i)) {
listIterator.add("java");
}
}
System.out.println("list1: " + list1);
}
}
如果这里使用迭代器(Iterator)会报错`ConcurrentModificationException,因为用迭代器遍历的时候不允许我们对集合进行修改,所以这里只能使用List集合里面特有的迭代器(listIterator)
标签:练习题,遍历,迭代,list1,List,add,集合 From: https://www.cnblogs.com/ndmtzwdx/p/18468258