📌  相关文章
📜  在Java中将 Stream 转换为 Set(1)

📅  最后修改于: 2023-12-03 15:37:36.059000             🧑  作者: Mango

在Java中将 Stream 转换为 Set

在Java 8中,Stream API已被引入,使得开发人员能够更方便地处理集合中的数据。Stream介绍了一种新的数据处理方式,可以简化代码,提高性能。

本文将介绍如何在Java中将Stream转换为Set。Set是一个不允许重复元素的集合,它提供了一些与List相同的方法,但不会保证元素的顺序。在Java中,Set可以通过HashSet、TreeSet以及LinkedHashSet实现。

从 Stream to Set

要将一个Stream转换为Set,可以使用Collectors.toSet()方法。以下是代码示例:

Stream<String> stream = Stream.of("apple", "banana", "orange", "apple");
Set<String> set = stream.collect(Collectors.toSet());
System.out.println(set); // [banana, orange, apple]

在上面的示例中,我们使用Stream.of()创建一个包含一些水果的Stream。然后我们把这个Stream转换成了一个Set。由于我们所创建的Stream包含重复的元素,因此转换后的Set不包含重复的元素。

从 Collection to Set

如果我们有一个Collection(例如List),我们可以使用Collection.stream()方法将其转换为Stream。然后,我们可以再次使用Collectors.toSet()方法将其转换为Set。

以下是代码示例:

List<String> list = Arrays.asList("apple", "banana", "orange", "apple");
Set<String> set = list.stream().collect(Collectors.toSet());
System.out.println(set); // [banana, orange, apple]

在上面的示例中,我们首先使用Arrays.asList()方法创建一个List。然后我们将这个List转换成了一个Stream。最后,我们再次使用Collectors.toSet()方法将其转换为Set。

总结

在Java中,可以使用Stream和Collectors.toSet()方法将一个Stream转换为一个Set。可以通过Stream.of()Collection.stream()方法获得Stream。务必注意,转换后的Set不会包含重复的元素。

感谢您的阅读,希望对您有所帮助!