CollectortoSet()返回将输入元素累积到新Set中的Collector。不能保证返回的Set的类型,可变性,可序列化性或线程安全性。这是一个无序的Collector,即收集操作不会致力于保留输入元素的遇到顺序。
用法:
public static Collector> toSet()
哪里:
T:输入元素的类型。
接口Collector:可变归约运算,将输入元素累积到可变结果容器中,在处理完所有输入元素之后,可选地将累积结果转换成最终表示形式。还原操作可以顺序或并行执行。T:归约运算的输入元素的类型。
A:归约运算的可变累积类型。
R:归约运算的结果类型。
Set:一个不包含重复元素的集合。更正式地说,集合不包含元素对e1和e2,使得e1.equals(e2)最多包含一个空元素。
返回值:将所有输入元素收集到集合中的Collector。
下面是说明toSet()方法的示例:
范例1:
// Java code to show the implementation of
// Collectors toSet() function
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
class GFG {
// Driver code
public static void main(String[] args)
{
// creating a Stream of strings
Stream s = Stream.of("Geeks",
"for",
"GeeksforGeeks",
"Geeks Classes");
// using Collectors toSet() function
Set mySet = s.collect(Collectors.toSet());
// printing the elements
System.out.println(mySet);
}
}
输出:
[Geeks Classes, GeeksforGeeks, Geeks, for]
范例2:
// Java code to show the implementation of
// Collectors toSet() function
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
class GFG {
// Driver code
public static void main(String[] args)
{
// creating a Stream of strings
Stream s = Stream.of("1", "2", "3", "4");
// using Collectors toSet() function
Set mySet = s.collect(Collectors.toSet());
// printing the elements
System.out.println(mySet);
}
}
输出:
[1, 2, 3, 4]