Java List 初始化的六种方法
在Java中可以通过多种方式初始化一个List
。以下是常用的六种方法:
使用
Arrays.asList()
方法:List<String> list = Arrays.asList("apple", "banana", "cherry");
注意:使用这种方法返回的
List
是固定大小的,无法添加或删除元素。使用
new ArrayList<>(Arrays.asList())
方法:List<String> list = new ArrayList<>(Arrays.asList("apple", "banana", "cherry"));
这种方法创建的
List
是可变的,可以进行添加或删除操作。使用
Collections.addAll()
方法:List<String> list = new ArrayList<>();
Collections.addAll(list, "apple", "banana", "cherry");
使用
Stream
和Collectors.toList()
方法(从Java 8开始可用):List<String> list = Stream.of("apple", "banana", "cherry")
.collect(Collectors.toList());
使用匿名内部类:
List<String> list = new ArrayList<String>() {{
add("apple");
add("banana");
add("cherry");
}};
这种方法实现了一个一次性初始化块,但往往不建议使用它,因为它会创建一个额外的类(可能引起不必要的开销)。
使用
List.of()
方法(从Java 9开始可用):List<String> list = List.of("apple", "banana", "cherry");
注意:
List.of()
返回的是不可变的List
,不支持添加或删除操作。
这些初始化方法各有优劣,可以根据具体需求选择合适的方法。例如,如果需要一个可变的List
,new ArrayList<>(Arrays.asList())
和Collections.addAll()
是更加合适的选择。对于不可变List
,List.of()
或Arrays.asList()
是更简单的方式。