1.最原始的方式:先创建,然后再添加元素
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("cherry");
2.使用Arrays.asList
这是一种快速方便的方式,直接使用数组初始化列表。
List<String> list = Arrays.asList("apple", "banana", "cherry");
注意:由Arrays.asList返回的列表是固定大小的(基于原始数组的视图),所以后续操作中不能添加或删除元素。如果需要一个可变的列表,可以再用其初始化一个新的ArrayList。
List<String> list = new ArrayList<>(Arrays.asList("apple", "banana", "cherry"));
3.使用双括号初始化(匿名内部类)
这种方法利用了匿名内部类的初始化块。
List<String> list = new ArrayList<String>() {{add("apple");add("banana");add("cherry");
}};
这种方式虽然写法简洁,但因为创建了匿名内部类,所以可能导致内存泄漏或隐藏的性能问题。
4.使用Collections.addAll
这种方法可以在创建列表后,将多个元素添加到列表中。
List<String> list = new ArrayList<>();
Collections.addAll(list, "apple", "banana", "cherry");
5.使用Java 8的Stream
利用Stream的操作来生成列表。
List<String> list = Stream.of("apple", "banana", "cherry").collect(Collectors.toList());
6.使用List.of(从Java 9开始)
这是Java 9引入的一个便利方法,可以快速创建不可变的列表。
List<String> list = List.of("apple", "banana", "cherry");
通过List.of创建的列表是不可变的,试图修改它(如添加、删除元素)将抛出UnsupportedOperationException。
总结
这些方法各有特点,可以根据具体需求和Java版本选择适合的初始化方式。