📜  Java中的收集器 toSet() 和示例

📅  最后修改于: 2022-05-13 01:54:36.593000             🧑  作者: Mango

Java中的收集器 toSet() 和示例

Collectors toSet()返回一个收集器,它将输入元素累积到一个新的 Set 中。不保证返回的 Set 的类型、可变性、可序列化性或线程安全性。这是一个无序收集器,即收集操作不承诺保留输入元素的遇到顺序。

句法:

public static  Collector> toSet()

在哪里:

  • T:输入元素的类型。
  • 接口 Collector可变归约操作,将输入元素累积到可变结果容器中,在处理完所有输入元素后,可选择将累积结果转换为最终表示。归约操作可以顺序或并行执行。
    • T:归约操作的输入元素的类型。
    • A:归约操作的可变累积类型。
    • R:归约操作的结果类型。
  • Set:不包含重复元素的集合。更正式地说,集合不包含一对元素 e1 和 e2 使得 e1.equals(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 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]