欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > > 文章正文

java中将数组array转为ArrayList,arrayarraylist

来源: javaer 分享于  点击 32148 次 点评:91

java中将数组array转为ArrayList,arrayarraylist


1、非基本数据类型的数组,如String类、自定义类等的类型数组等。这里以String[]为例,假设已知字符串数组String[] strs,

1.1、ArrayList<String> list=new ArrayList<>(Arrays.asList(strs))。

这一方式利用了ArrayList的构造函数,故list是一个新的ArrayList实例,可以调用任何ArrayList类的可使用方法。

据说这也是StackOverFlow上面最受欢迎的答案。

1.2、List<String> list=Arrays.asList(strs);

这个方法和上面的不同之处是:虽然asList()方法是通过new了一个ArrayList作为返回结果,但是这个list实例大小是固定的,和strs大小一致。因为其底层是由一个固定大小的数组作为支撑的。故对list实例执行add()方法,实际是对一个大小固定的数组做add操作,这时会提示异常java.lang.UnsupportedOperationException。但是执行一些可以对数组进行的操作是可以的。这一点可以通过查看asList()源码注释看到。


这一点参考了博客:http://blog.csdn.net/snarlfuture/article/details/16966921


2、基本数据类型的数组,如int[],double[],long[]这三类,可以使用stream;其它几种基本类型,目前除了for循环赋值,目前还没想到。

如:

        int[] ints={1,2,3,4};
        List<Integer> integers= IntStream.of(ints).boxed().collect(Collectors.toList());

        long[] longs={3,3,4};
        List<Long> longs1=LongStream.of(longs).boxed().collect(Collectors.toList());
        
        double[] doubles={3,2,5};
        List<Double> doubles1=DoubleStream.of(doubles).boxed().collect(Collectors.toList());


相关文章

    暂无相关文章

用户点评