这几天撸java8代码,查看同人们写的各种代码例子,发现list的创建・初始化有好多种方式,索性总结一下。
特此声明:
list的创建・初始化写法,不局限于这里所说的三种,这里只是总结了一下本人常用的三种写法。
■写法1_new ArrayList<T>()
List<String> strList = new ArrayList<String>(); strList.add("str1"); strList.add("str2"); strList.add("str3");
■写法2_Arrays.asList
List<String> strList = Arrays.asList("str1","str2","str3");
注意:这种方法初始化的list不能追加新元素或删除元素。只适用初始化常量。
・追加元素
List<String> strList = Arrays.asList("str1", "str2", "str3"); strList.add("str4"); strList.forEach(System.out::println);
・删除元素
List<String> strList = Arrays.asList("str1", "str2", "str3"); strList.remove(1); strList.forEach(System.out::println);
对上面error信息感兴趣的小伙伴可以自行去调查下。
■写法3_new ArrayList<T>(){{}}
List<String> strList = new ArrayList<String>() {{ add("str1"); add("str2"); add("str3"); }};
小结
《孔乙己》课文告诉我们,不要太较真哪种写法好,根据实际情况选择合适正确的写法,把代码写得既美观又规整,这就是最好的。