
在Java中,Collectors.toList() 是一个静态方法,用于将流(Stream)中的元素收集到一个 List 集合中。它是 java.util.stream.Collectors 类提供的常用收集器之一,常配合 stream().collect() 方法使用。
基本用法说明
要将一个流转换为列表,只需调用流的 collect() 方法,并传入 Collectors.toList() 作为参数。
示例代码:import java.util.*; import java.util.stream.Collectors; Listwords = Arrays.asList("apple", "banana", "cherry"); List result = words.stream() .collect(Collectors.toList());
上述代码中,原始列表通过 stream() 转换为流,再通过 collect(Collectors.toList()) 收集回一个新的 List。
常见应用场景
该方法通常用于以下几种情况:
立即学习“Java免费学习笔记(深入)”;
- 对集合进行过滤后保留结果为列表
- 转换数据结构(如提取对象的某个字段)
- 去重或排序后的结果收集
Listfiltered = words.stream() .filter(s -> s.length() > 5) .collect(Collectors.toList());
注意事项
使用 Collectors.toList() 时需注意以下几点:
- 返回的 List 是可变的,但具体实现类型不保证(通常是 ArrayList)
- 如果需要不可变列表,应使用 Collectors.toUnmodifiableList()(Java 10+)
- 多线程环境下并行流收集时,会自动处理线程安全问题
Listimmutable = words.stream() .collect(Collectors.toUnmodifiableList());
基本上就这些。Collectors.toList() 简洁实用,是流操作中最常用的收集方式之一,适合大多数将流转为列表的场景。










