Collectors.toCollection()
时间: 2023-07-08 16:32:55 浏览: 117
`Collectors.toCollection()`是一个收集器(Collector)工具方法,它接受一个`Supplier`类型的参数,用于创建一个指定集合类型的容器,然后将流中的元素收集到该容器中。
具体来说,`Collectors.toCollection()`方法的返回值是一个新的收集器,它使用传入的`Supplier`创建一个新的容器,然后将流中的元素添加到容器中。最终返回的结果是创建的容器。
例如,假设我们有一个`List<String>`类型的列表,现在想要将它转换为一个`TreeSet<String>`类型的集合。可以使用`Collectors.toCollection()`方法来收集元素:
```
List<String> list = Arrays.asList("a", "b", "c");
TreeSet<String> result = list.stream()
.collect(Collectors.toCollection(TreeSet::new));
System.out.println(result);
```
输出结果为:
```
[a, b, c]
```
在这个例子中,我们使用`Collectors.toCollection()`方法将列表中的元素收集到一个`TreeSet<String>`容器中。`TreeSet::new`表示使用`TreeSet`的默认构造函数创建一个新的空容器。
需要注意的是,`Collectors.toCollection()`方法可以用于任何类型的集合,只需要传入相应类型的`Supplier`即可。同时,该方法可以保证收集结果的顺序与流中元素的顺序一致,因此在需要按照顺序收集元素的场景下非常实用。
阅读全文