List初始化并赋值

List使用时,每次都add(object);有时总会想一些骚操作,能够看起来简洁点。
List初始化并赋值,尝试过以下6种可行方式

方式列表

1.普通方式

List<String> list1 = new ArrayList<String>();
list1.add("大少");
list1.add("二少");
list1.add("三少");

2.匿名内部类

List<String> list2 = new ArrayList<String>() {
    {
        add("大少");
        add("二少");
        add("三少");
    }
};

3.Arrays.asList()作为初始化参数

list能够正常的add

List<String> list3 = new ArrayList<String>(Arrays.asList("大少", "二少", "三少"));
//或者
List<String> list = new ArrayList();
list.addAll(Arrays.asList("大少", "二少", "三少")); 

4.直接使用Arrays.asList()

无法add,如果继续添加数据将出现java.lang.UnsupportedOperationException

List<String> list4 = Arrays.asList("大少", "二少", "三少");

5.Collections.nCopies返回一个不可变列表组成的n个拷贝的指定对象

每个数据都是一样的

ArrayList<String> list5 = new ArrayList<String>(Collections.nCopies(3, "大少"));

6.guava的ImmutableList

无法add,如果继续添加数据将出现java.lang.UnsupportedOperationException

List<String> list6 = ImmutableList.of("大少", "二少", "三少");
List<String> list7 = ImmutableList.<String>builder()
                .add("大少")
                .add("二少")
                .add("三少")
                .build();
原创文章 29 获赞 41 访问量 971

猜你喜欢

转载自blog.csdn.net/lovesunren/article/details/105525270