Java基础:四种初始化ArrayList的方式
在Java中,初始化ArrayList时直接赋值有以下几种常见方式:
-
构造器传入集合:
List<String> list = new ArrayList<>(Arrays.asList("item1", "item2", "item3"));
或者在Java 9及以上版本中使用
List.of()
方法创建不可变列表:List<String> list = new ArrayList<>(List.of("item1", "item2", "item3"));
-
使用匿名内部类(不常用且可能引起混淆,实际编程中很少这样用):
// 不推荐此做法,仅作展示 ArrayList<String> list = new ArrayList<String>() {{ add("item1"); add("item2"); add("item3"); }};
注意:这种方式利用了匿名内部类的实例初始化块,但不是标准做法,因为它违反了“面向接口”的编程原则,且可能导致代码难以理解。
-
通过循环或流API填充:
// 循环添加 List<Integer> list = new ArrayList<>(); for (int i = 0; i < 5; i++) { list.add(i); } // Java 8+ 使用Stream API List<Integer> list2 = Stream.of(1, 2, 3, 4, 5).collect(Collectors.toCollection(ArrayList::new));
-
使用
addAll
方法:List<Integer> initialData = Arrays.asList(1, 2, 3); List<Integer> list = new ArrayList<>(); list.addAll(initialData);
通常最常见的是方式一是直接在构造ArrayList时传入已有的集合,这种方式简洁高效。不过,如果初始数据较小并且已知,直接在声明时初始化也是最佳实践之一。对于较大的数据集或者动态生成的数据,使用循环或流API则更为灵活。
作者:学亮编程手记