java如何生成列表
生成固定内容的列表
在Java中,可以使用Arrays.asList()快速生成固定内容的列表:
List<String> list = Arrays.asList("A", "B", "C");
注意:此方法生成的列表大小不可变(不支持add/remove),需可变列表时可传入new ArrayList<>():
List<String> mutableList = new ArrayList<>(Arrays.asList("A", "B", "C"));
使用Stream生成列表(Java 8+)
通过Stream API动态生成列表,例如生成数字序列:
List<Integer> numbers = IntStream.range(1, 10) // 生成1-9
.boxed()
.collect(Collectors.toList());
或通过映射转换:
List<String> strings = Stream.of("a", "b", "c")
.map(String::toUpperCase)
.collect(Collectors.toList());
动态构建列表(逐个添加元素)
使用ArrayList的add方法逐步构建列表:
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
或通过循环添加:
List<Integer> squares = new ArrayList<>();
for (int i = 1; i <= 5; i++) {
squares.add(i * i);
}
通过工厂方法生成列表(Java 9+)
Java 9引入List.of()工厂方法,生成不可变列表:
List<String> immutableList = List.of("X", "Y", "Z");
注意:此列表不可修改(抛出UnsupportedOperationException)。
从其他集合转换
将Set或数组转换为列表:
Set<String> set = new HashSet<>(Set.of("A", "B"));
List<String> fromSet = new ArrayList<>(set);
String[] array = {"1", "2", "3"};
List<String> fromArray = Arrays.asList(array); // 不可变视图
使用第三方库(如Guava)
Google Guava提供更灵活的列表创建方式:

// 需添加Guava依赖
List<String> guavaList = Lists.newArrayList("Alpha", "Beta");
选择方法时需考虑可变性、初始数据和Java版本兼容性。






