迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

在 Java 中将 Stream 转换为列表

作者:迹忆客 最近更新:2023/10/16 浏览次数:

本教程介绍了 Java 中 Stream 到 List 的转换。

Stream 是对象的集合。Stream 不存储任何数据,因此它不是数据结构。

Stream 被添加到 Java 8 版本中,而 List 是一个存储有序集合的接口。在本教程中,我们将研究将 Stream 转换为 List。

Java 有以下方法可以用来完成我们的任务:

  • 使用 collect() 方法进行转换
  • 使用 toCollection() 方法进行转换
  • 使用 forEach() 方法进行转换
  • 使用 toArray() 方法进行转换

在 Java 中使用 collect() 方法将流转换为列表

Stream collect() 操作是一个终端操作。终端操作意味着 Stream 已被消费并且在此操作之后无法进一步使用。

这个方法的语法是:

 collect(Collector<? super T,A,R> collector)

此方法将 Collector 对象作为参数。

Collector 类用于将 Stream 的元素收集到一个集合中。此类具有 toList() 方法,可将 Stream 转换为 List。

现在让我们看一个代码示例:

import java.util.*;  
import java.util.stream.Stream;
import java.util.stream.Collectors;
public class SimpleTesting {
    public static void main(String args[]) {
        
        // declaring a stream
        Stream<String> furnitures = Stream.of("chair", "dinning table", "study table", "coffee table", "sofa");
        
        // changing stream to list
        List<String> furniture_list = furnitures.collect(Collectors.toList());
        
        //printing the list
        for(String furniture: furniture_list){
            System.out.println(furniture);
        }
    }
}

输出:

chair
dinning table
study table
coffee table
sofa

在 Java 中使用 toCollection() 方法将流转换为列表

此示例与上一个示例类似,只是我们使用了 Collector.toList() 方法而不是 Collectors.toCollection() 方法。

Collector 类有一个名为 toCollection() 的方法,该方法返回一个 Collector,它将输入项按照遇到的顺序收集到一个新的 Collection 中。看下面的示例代码:

import java.util.*;  
import java.util.stream.Stream;
import java.util.stream.Collectors;
public class SimpleTesting {
    public static void main(String args[]) {
        
        // declaring a stream
        Stream<String> furnitures = Stream.of("chair", "dinning table", "study table", "coffee table", "sofa");
        
        // changing stream to list
        List<String> furniture_list = furnitures.collect(Collectors.toCollection(ArrayList::new));
        
        //printing the list
        for(String furniture: furniture_list){
            System.out.println(furniture);
        }
    }
}

输出:

chair
dinning table
study table
coffee table
sofa

在 Java 中使用 forEach() 方法将流转换为列表

在这个例子中,我们首先创建了一个空的 ArrayList,然后使用 forEach() 方法将每个 Stream 元素一个一个添加到 List 中。Stream 有一个名为 forEach() 的方法,它对输入 Stream 的所有元素执行。

看下面的示例代码:

import java.util.*;  
import java.util.stream.Stream;
import java.util.stream.Collectors;
public class SimpleTesting {
    public static void main(String args[]) {
        
        // declaring a stream
        Stream<String> furnitures = Stream.of("chair", "dinning table", "study table", "coffee table", "sofa");
        
        // declaring an empty arraylist
        ArrayList<String> furniture_list = new ArrayList<>();
        
        // adding elements one by one
        furnitures.forEach(furniture_list::add);
        
        //printing the list
        for(String furniture: furniture_list){
            System.out.println(furniture);
        }
    }
}

输出:

chair
dinning table
study table
coffee table
sofa

在 Java 中使用 toArray() 方法将流转换为列表

在这个例子中,我们首先使用 toArray() 方法将 Stream 转换为一个数组。之后,我们使用 asList() 方法将新创建的数组转换为 List 以获取列表。

看下面的代码:

import java.util.*;  
import java.util.stream.Stream;
import java.util.stream.Collectors;
public class SimpleTesting {
    public static void main(String args[]) {
        
        // declaring a stream
        Stream<String> furnitures = Stream.of("chair", "dinning table", "study table", "coffee table", "sofa");
           
        // converting stream to array
        String[] furniture_array = furnitures.toArray(String[]::new);
        
        // converting array to list
        List<String> furniture_list = Arrays.asList(furniture_array);
        
        //printing the list
        for(String furniture: furniture_list){
            System.out.println(furniture);
        }
    }
}

输出:

chair
dinning table
study table
coffee table
sofa

上一篇:在 Java 中将 map 值转换为列表

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Java 中将 map 值转换为列表

发布时间:2023/10/16 浏览次数:104 分类:Java

在本教程中,我们将执行三个程序来向你展示如何将 Hashmap 值转换为 Java 中的列表。所有示例都是动态的,并且包含构建可靠逻辑的有用方法。

在 Java 中将列表转换为 map

发布时间:2023/10/11 浏览次数:150 分类:Java

本教程介绍如何在 Java 中将列表转换为 mapList 允许维护有序的对象集合。Map 对象将键映射到值。在 Java 中,有几种方法可以将对象的 List 转换为 Map。在本文中,我们将学习其中的一些。

在 Java 中按字母顺序对列表进行排序

发布时间:2023/10/11 浏览次数:80 分类:Java

本文介绍如何在 Java 中按字母顺序对列表进行排序。本教程介绍如何在 Java 中按字母顺序对元素列表进行排序。List 是一种线性数据类型,用于在 Java 中存储类似类型的元素。

Java 中的未经检查的强制转换

发布时间:2023/10/11 浏览次数:50 分类:Java

这篇文章解释了 Java 中的 unchecked cast 警告。Java 是一种强制类型安全的编程语言,这意味着我们应该始终指定我们将要存储或使用的数据类型,并且不能在其中存储不兼容的类型。

如何在 Java 中检查变量的类型

发布时间:2023/10/11 浏览次数:154 分类:Java

本文介绍了 Java 中检查变量类型的方法。在Java中,了解变量或对象的类型对于编写高效且灵活的代码至关重要。

在 Java 中使用后缀 F

发布时间:2023/10/11 浏览次数:136 分类:Java

本教程演示了在 Java 中使用带有数值的 f 后缀。Java 中的十进制值默认是 double 值。当我们只需要浮点值时,我们必须告诉编译器它是一个浮点值。

Java 中的 transient 关键字

发布时间:2023/10/11 浏览次数:166 分类:Java

本文介绍了 Java 中什么是 transient 关键字。本文介绍了 transient 关键字是什么以及如何在 Java 应用程序中使用它。Transient 是 Java 中的一个关键字,用于将变量标记为不可序列化。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便