【JAVA集合2】

本文详细解析了Java编程中常见的并发修改异常(ConcurrentModificationException),并提供了三种不同的集合遍历方式:使用Iterator、for-each循环以及toArray方法。在迭代过程中,强调了不能直接修改集合,否则会导致异常。同时,示例代码展示了如何安全地遍历并操作集合。
并发修改异常
public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("kim");
        list.add("is");
        list.add("playing");
        list.add("!");
        Iterator<String> iterator = list.iterator();
        /*
        iterator为迭代次数
        不能在迭代器遍历中对集合进行添加和删除等操作
        具体来说  就是不能更改迭代次数  否则会抛出
        ConcurrentModificationException
         */
        while(iterator.hasNext()){
            String s = iterator.next();
//            //比较两个引用类型字符串是否相同要采用equals()方法
//            if("is".equals(s)){
//                list.remove(s);
//            }
            System.out.println(s);
        }
    }
forch遍历集合
 /*
        for(元素数据类型 变量名:遍历的集合或数组的名称){
             //遍历的时候会把遍历到的元素赋值给变量
        }
         */
        for(String i:list){
            System.out.println(i);
        }
toArray遍历集合
/*
        1. 首先把集合转换成数组
        2. 对数组进行遍历
         */
        //当不知道如何将集合转换成数组时,可以尝试寻找集合提供的方法 输入为空(此集合)  输出为[]
        //根据参数列表  toArray() Object[];  toArray(T[] a) T[]
        //toArray() Object[]
        Object[] objects = list.toArray();
        for (int i = 0; i < objects.length; i++) {
            System.out.println(objects[i]);
        }
        //toArray(T[] a) T[] 返回值与传入数组类型保持一致
        String[] strings = list.toArray(list.toArray(new String[0]));
        for(String i:strings){
            System.out.println(i);
        }
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值