Java中几种创建并初始化List元素的方法(包含验证测试代码)

这篇博客探讨了Java中初始化List元素的不同方法,包括ArrayList的使用、Arrays.asList()转换以及各种列表操作的实例展示。通过日志输出展示了不同方法创建的列表的大小和内容,帮助理解Java中列表初始化的原理。
摘要由CSDN通过智能技术生成
        // 方法一: 常规方式 首先构造一个List,然后使用List.add进行初始化
        List<String> list1 = new ArrayList<>();
        list1.add("Java");
        list1.add("C");
        list1.add("C#");
        log.info(">>>>>list1.size()>>>>>:" + list1.size());
        log.info(">>>>>list1>>>>>:" + JSON.toJSONString(list1));

        // 方法二: 利用Arrays工具类(有陷阱,慎用)
        List<String> list2 = Arrays.asList("A", "B", "C");
//        list2.add("D"); // Method threw 'java.lang.UnsupportedOperationException' exception.
//        list2.remove("A"); // Method threw 'java.lang.UnsupportedOperationException' exception.
//        list2.remove(2); // Method threw 'java.lang.UnsupportedOperationException' exception.
//        list2.removeAll(Arrays.asList("A")); // Method threw 'java.lang.UnsupportedOperationException' exception.
        list2.contains("B"); // true
        list2.containsAll(Arrays.asList("A"));  // true
        list2.set(2, "D"); // D
        log.info(">>>>>list2.size()>>>>>:" + list2.size());
        log.info(">>>>>list2>>>>>:" + JSON.toJSONString(list2));

        /*
         * 这种方式添加的是不可变的"List",注意该List与通过new ArrayList<>()方式得到的List不一样,
         * 它不能进行List的常规添加、删除等操作,需要注意。。
         * 通过查看源码可以得知list2为 Arrays$ArrayList,并不是java.util.ArrayList
         * Arrays$ArrayList只是Arrays的一个内部静态类,它并没有完全实现List接口的方法,而ArrayList直接实现了List接口,实现了List所有方法
         * Arrays.ArrayList是一个定长
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值