用Java将流转换为Set

我们可以使用以下方法将流转换为set。

  • 使用具有Collectors.toSet stream.collect()()方法-流collect()方法迭代其元素并将它们存储在一个collection.collect(Collector.toSet())方法。

  • 使用set.add()方法-使用forEach迭代流,然后将每个元素添加到集合中。

示例

import java.util.*;
import java.util.stream.Stream;
import java.util.stream.Collectors;
 
public class Tester {        
   public static void main(String[] args) {
      Stream<String> stream = Stream.of("a","b","c","d");

      //方法1-
      Set<String> set = stream.collect(Collectors.toSet());
      set.forEach(data -> System.out.print(data + " "));

      Stream<String> stream1 = Stream.of("a","b","c","d");
      System.out.println();
      //方法2-
      Set<String> set1 = new HashSet<>();
      stream1.forEach(set1::add);
      set1.forEach(data -> System.out.print(data + " "));
   }
}

输出结果

a b c d
a b c d