stream如何转换为List呢?

欣喜 Java每日一问 发布时间:2025-03-25 11:09:42 阅读数:14408 1
下文笔者讲述Stream转换list的方法及示例分享,如下所示

Stream转List的实现思路

方式1:
    使用`Collectors.toList()

方式2:
    使用`Collectors.toCollection()`

方式3:
    转换为 `LinkedList`

方式4:
    Java 16 开始,`Stream` 接口引入了 `toList()` 方法	

1.使用`Collectors.toList()`

`Collectors.toList()`
  是`Collectors`类中一个静态方法
   用于将流中的元素收集到一个`List`中
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class StreamToListExample {
    public static void main(String[] args) {
        // 创建一个 Stream
        Stream<String> stream = Stream.of("Apple", "Banana", "Cherry");

        // 使用 Collectors.toList() 将 Stream 转换为 List
        List<String> list = stream.collect(Collectors.toList());

        // 输出 List
        System.out.println("List: " + list);
    }
}

===运行以上代码,将输出以下信息==========

List: [Apple, Banana, Cherry]

2.使用`Collectors.toCollection()`

如果你需要将流转换为特定类型
   `List`(如 `ArrayList` 或 `LinkedList`)
    可使用 `Collectors.toCollection()` 方法。
 
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class StreamToArrayListExample {
    public static void main(String[] args) {
        // 创建一个 Stream
        Stream<String> stream = Stream.of("Apple", "Banana", "Cherry");

        // 使用 Collectors.toCollection() 将 Stream 转换为 ArrayList
        List<String> arrayList = stream.collect(Collectors.toCollection(ArrayList::new));

        // 输出 ArrayList
        System.out.println("ArrayList: " + arrayList);
    }
}

====运行以上代码,将输出以下信息====== 
ArrayList: [Apple, Banana, Cherry]

转换为`LinkedList`

import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class StreamToLinkedListExample {
    public static void main(String[] args) {
        // 创建一个 Stream
        Stream<String> stream = Stream.of("Apple", "Banana", "Cherry");

        // 使用 Collectors.toCollection() 将 Stream 转换为 LinkedList
        List<String> linkedList = stream.collect(Collectors.toCollection(LinkedList::new));

        // 输出 LinkedList
        System.out.println("LinkedList: " + linkedList);
    }
}

===运行以上代码,将输出以下信息===== 
LinkedList: [Apple, Banana, Cherry]

使用`Stream`的`toList()`方法(Java 16 及以上)

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

public class StreamToListJava16Example {
    public static void main(String[] args) {
        // 创建一个 Stream
        Stream<String> stream = Stream.of("Apple", "Banana", "Cherry");

        // 使用 Stream 的 toList() 方法将 Stream 转换为 List
        List<String> list = stream.toList();

        // 输出 List
        System.out.println("List: " + list);
    }
}

====运行以上代码,将输出以下信息==== 
List: [Apple, Banana, Cherry] 
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaProblem/202503/8402.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者