Java中的Java流|收集器toCollection()

要收集的收集器(供应商 收集工厂) 方法用于使用收集器创建集合。它返回一个收集器,该收集器将输入元素按传递顺序累积到一个新集合中。

null

语法:

public static <T, C extends Collection<T>> Collector<T, ?, C>
      toCollection(Supplier<C> collectionFactory)

其中:-

  • 收藏: 集合层次结构中的根接口。集合表示一组对象,称为其元素。一些集合允许重复元素,而其他集合则不允许。有些是有序的,有些是无序的。
  • 收藏家< T、 A,R > : 一种可变归约操作,将输入元素累加到可变结果容器中,在处理完所有输入元素后,可以选择将累加结果转换为最终表示形式。还原操作可以顺序执行,也可以并行执行。
    • T: 还原操作的输入元素类型。
    • A: 还原操作的可变累积类型。
    • R: 还原操作的结果类型。
  • 供应商: 函数接口,因此可以用作lambda表达式或方法引用的赋值目标。
  • 收集工厂: 返回适当类型的新空集合的供应商。

参数: 此方法采用强制参数 收藏工厂 类型 供应商 返回相应类型的新空集合。

返回值: 此方法返回一个收集器,该收集器按遇到的顺序将所有输入元素收集到一个集合中。

下面给出了一些例子,以更好地说明toCollection()的实现:

例1:

// Java code to demonstrate Collectors
// toCollection(Supplier collectionFactory) method
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating a string stream
Stream<String> s = Stream.of( "Geeks" , "for" , "GeeksClasses" );
// Using toCollection() method
// to create a collection
Collection<String> names = s
.collect(Collectors
.toCollection(TreeSet:: new ));
// Printing the elements
System.out.println(names);
}
}


输出:

[Geeks, GeeksClasses, for]

例2:

// Java code to demonstrate Collectors
// toCollection(Supplier collectionFactory) method
import java.util.Collection;
import java.util.TreeSet;
import java.util.stream.Collectors;
import java.util.stream.Stream;
class GFG {
// Driver code
public static void main(String[] args)
{
// Creating a string stream
Stream<String> s = Stream.of( "2.5" , "6" , "4" );
// Using Collectors toCollection()
Collection<String> names = s
.collect(Collectors
.toCollection(TreeSet:: new ));
// Printing the elements
System.out.println(names);
}
}


输出:

[2.5, 4, 6]

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享