Arrays.asList()数组转集合的坑

发布时间:2020-07-15 20:31:48 作者:茕茕木偶
来源:网络 阅读:708
1、错误用法:
int arr [] = {1,2,3};
List<int[]> ints = Arrays.asList(arr);
System.out.println(ints.size());// 1

通过Arrays.asList方法转换的List并不是真正的java.util.ArrayList!!!返回的是java.util.Arrays.ArrayList!!!

2、不同之处

Arrays.ArrayList 是工具类 Arrays 的一个内部静态类,它没有完全实现List的方法,而 ArrayList直接实现了List 接口,实现了List所有方法。
Arrays.asList()数组转集合的坑
即使用Arrays.asList()转换后的集合不能进行增删操作

3、正确的使用
              int arr [] = {1,2,3};
        // List<int[]> ints = Arrays.asList(arr);
        // System.out.println(ints.size());// 1
                // 使用Spring框架
        List list1 = CollectionUtils.arrayToList(arr);
        System.out.println(list1.size());// 3

        List<Integer> integerList = Arrays.asList(1, 2, 3, 4);
        System.out.println(integerList.size());// 4
        System.out.println("=========");

                // 使用Collections工具类
        List<String> list = new ArrayList<>();
        Collections.addAll(list, "dog", "cat", "pig");
        list.forEach(s -> {
            System.out.println(s);
        });
        System.out.println("=========");

                // 使用JDK1.8Lambda表达式
        int intArray [] = {1,2,3};
        List<Integer> collect = Arrays.stream(intArray).boxed().collect(Collectors.toList());
        collect.forEach(integer -> {
            System.out.println(integer);
        });
        System.out.println("=========");

参考:https://mp.weixin.qq.com/s/iDpx7krEjSue0-IXGiMFeQ

推荐阅读:
  1. 如何在Java中使用Arrays.asList方法
  2. Java用Arrays.asList初始化ArrayList实例方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

arrays.aslist collections.addall collectionutils

上一篇:swoole和laravel-admin在nginx中配值端口转发

下一篇:庖丁解牛数据库系统结构

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》