Java Collector toSet()示例
集合器toSet() 返回一个集合器,将输入的元素累积成一个新的集合。对返回的Set的类型、可变性、可序列化或线程安全没有任何保证。这是一个无序的集合器,也就是说,集合操作不承诺保留输入元素的相遇顺序。
语法
public static <T> Collector<T, ?, Set<T>> toSet()
其中。
- T: 输入元素的类型。
- **Interface Collector <T, A, R>: **一个可变的还原操作,将输入元素累积到一个可变的结果容器中,在所有输入元素被处理后,可选择将累积的结果转化为最终表示。还原操作可以按顺序进行,也可以并行进行。
- T: 还原操作的输入元素的类型。
- A: 还原操作的可变累积类型。
- R: 还原操作的结果类型。
- set: 一个不包含重复元素的集合。更正式地说,集合不包含任何一对元素e1和e2,使e1.e2相等,以及最多一个空元素。
返回值: 一个收集器,它将所有的输入元素收集到一个集合中。
下面是一些例子来说明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<String> s = Stream.of("Geeks",
"for",
"GeeksforGeeks",
"Geeks Classes");
// using Collectors toSet() function
Set<String> 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<String> s = Stream.of("1", "2", "3", "4");
// using Collectors toSet() function
Set<String> mySet = s.collect(Collectors.toSet());
// printing the elements
System.out.println(mySet);
}
}
输出:
[1, 2, 3, 4]