List集合练习题1

需求:遍历集合,当遇到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)

posted @ 2024-10-15 19:39  你的镁偷走了我的锌  阅读(12)  评论(0)    收藏  举报