java list初始化的几种方式

/**

* java8 下List初始化的四种方法

*/

public void myArray(){

/**

    * java包下有两种ArrayList 分别存在于java.util.ArrayList 和 java.util.Arrays.ArrayList

*

    *1 java.util.ArrayList 继承AbstractList  重写了其add get grow等方法

    *

    * 2java.util.Arrays.ArrayList 下面的asList  这里面没有重新实现add方法,不可以进行add操作 add报出UnsupportedOperationException异常

    *                  (也就是说Arrays.asList方法只是把数组转化为定长List的一个方法)

    */

    String[] arr=new String[]{"11","bb"};

    //1通过构造方法创建arrayList,然后调用add方法(jdk自带,但是代码冗余不推荐使用)

    List arrayList1=new ArrayList<>();

    arrayList1.add(arr[0]);

    //2 java8可以通过Stream的方式来新建ArrayList(jdk8自带,推荐使用)

    List arrayList2= Stream.of("aa","bb").collect(Collectors.toList());

    //3通过guava提供的方法 (需要依赖google.common.collect,不是很推荐使用)

    List arrayList3= Lists.newArrayList(arr);

    //4 java.util.Arrays 下面的构造方法(jdk自带,但是生成的java.util.Arrays.ArrayList,

    //                    调用add方法会报出UnsupportedOperationException异常,尽量不要使用)

    List arrayList4= Arrays.asList("a", "b");

    /**

    * 总结:在java8中 既不依赖于外部包又方便还实现了所有的list方法的list初始化方法 首推Stream方法

    * eg:List<String> arrayList2= Stream.of(arr).collect(Collectors.toList());

*

*/

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容