当前位置:实例文章 » JAVA Web实例» [文章]java中Stream转成List类型如下写代码?

java中Stream转成List类型如下写代码?

发布人:shili8 发布时间:2025-02-05 21:00 阅读次数:0

**Java 中 Stream 转成 List 类型**

在 Java 中,Stream 是一种高级 API,它允许您以声明式的方式处理数据集合。然而,在某些情况下,您可能需要将 Stream 转换为 List 类型,以便于进一步操作或存储数据。在本文中,我们将展示如何使用 Java 中的 Stream API 将各种类型的数据转换为 List。

###1. 使用 `collect()` 方法最常见的方法是使用 `collect()` 方法,将 Stream 转换为 List。这个方法接受一个 Collector 接口作为参数,用于指定如何收集 Stream 的元素。

javaimport java.util.List;
import java.util.stream.Collectors;

public class Main {
 public static void main(String[] args) {
 //生成一个Stream List list = List.of("A", "B", "C").stream()
 .collect(Collectors.toList());

 System.out.println(list); // [A, B, C]
 }
}


在上面的示例中,我们使用 `List.of()` 方法创建了一个 List,然后将其转换为 Stream。最后,我们使用 `collect()` 方法收集 Stream 的元素,得到一个新的 List。

###2. 使用 `toArray()` 方法另一种方法是使用 `toArray()` 方法,将 Stream 转换为数组。这个方法返回一个 Object[] 数组,这个数组包含了 Stream 中的所有元素。

javaimport java.util.List;
import java.util.stream.Stream;

public class Main {
 public static void main(String[] args) {
 //生成一个Stream List list = Stream.of("A", "B", "C")
 .toArray(String[]::new);

 System.out.println(list); // [A, B, C]
 }
}


在上面的示例中,我们使用 `Stream.of()` 方法创建了一个 Stream,然后将其转换为数组。最后,我们使用 `toArray()` 方法收集 Stream 的元素,得到一个新的 List。

###3. 使用 `toCollection()` 方法如果您需要将 Stream 转换为特定类型的集合(如 ArrayList 或 LinkedList),可以使用 `toCollection()` 方法。

javaimport java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class Main {
 public static void main(String[] args) {
 //生成一个Stream List list = Stream.of("A", "B", "C")
 .collect(Collectors.toCollection(ArrayList::new));

 System.out.println(list); // [A, B, C]
 }
}


在上面的示例中,我们使用 `Collectors.toCollection()` 方法将 Stream 转换为 ArrayList。

###4. 使用 `toSet()` 方法如果您需要将 Stream 转换为 Set,可以使用 `toSet()` 方法。

javaimport java.util.Set;
import java.util.stream.Collectors;

public class Main {
 public static void main(String[] args) {
 //生成一个Stream Set set = Stream.of("A", "B", "C")
 .collect(Collectors.toSet());

 System.out.println(set); // [A, B, C]
 }
}


在上面的示例中,我们使用 `Collectors.toSet()` 方法将 Stream 转换为 Set。

###5. 使用 `toMap()` 方法如果您需要将 Stream 转换为 Map,可以使用 `toMap()` 方法。

javaimport java.util.Map;
import java.util.stream.Collectors;

public class Main {
 public static void main(String[] args) {
 //生成一个Stream Map map = Stream.of("A", "B", "C")
 .collect(Collectors.toMap(s -> s, String::length));

 System.out.println(map); // {A=1, B=1, C=1}
 }
}


在上面的示例中,我们使用 `Collectors.toMap()` 方法将 Stream 转换为 Map。

### 总结本文展示了如何使用 Java 中的 Stream API 将各种类型的数据转换为 List。您可以使用 `collect()` 方法、`toArray()` 方法、`toCollection()` 方法、`toSet()` 方法和 `toMap()` 方法来实现这一点。这些方法提供了一种高效且声明式的方式来处理数据集合,适合于大型数据集或复杂计算场景。

其他信息

其他资源

Top