java8 stream 如何打印数据元素

 更新时间:2022年11月15日 14:37:34   作者:潇洒却风流  
这篇文章主要介绍了java8 stream 如何打印数据元素,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

写在前面

在这里,我们将会学习怎么利用java8 快速的打印出需要打印的元素

利用stream打印元素

在Java中,有三种不同的方法来打印Java 8中的Stream元素。

这三种不同方式的名称如下

  • Stream的 forEach()方法
  • Stream的 println()方法和collect()方法
  • Stream的 peek()方法

我们将在java 8中逐一看到打印流元素的三种方法……

1. forEach() 方法

  • 该方法在java.util.stream包中可用。
  • 这不是静态方法,所以这个方法将被对象调用。
  • 这个方法的返回类型是void,所以它不返回任何东西。
  • 这个方法充当流的每个元素。

这个方法的语法如下所示:

void forEach(Consumer <? super T > consumer);

这里,Consumer是一个接口,T是元素类型

示例:不用lambda表达式

import java.util.stream.*;

public class PrintStreamElementByForeachMethod {
    public static void main(String[] args) {
        // Here of() method of Stream interface is used to get the stream
        Stream stm = Stream.of("Java", "is", "a", "programming", "language");

        // we are printing the stream by using forEach() method
        stm.forEach(stm1 -> System.out.println(stm1));
    }
}

输出

Java
is
a
programming
language

示例:简写lambda表达式

import java.util.stream.*;

public class PrintStreamElementByForeachMethod {
    public static void main(String[] args) {
        // Here of() method of Stream interface is used to get the stream
        Stream stm = Stream.of("Java", "is", "a", "programming", "language");

        // we are printing the stream by using forEach() method
        stm.forEach(System.out::println);
    }
}

输出

Java
is
a
programming
language

2. println() with collect()方法

该方法在java.util.stream包中可用。

这个方法不是静态的,所以可以通过Stream接口的对象访问。

该方法以Collector对象的形式收集流元素,然后使用println()方法打印元素。

println()与collect()方法的语法

System.out.println(Stream_object.collect(Collectors.toList()));

示例

import java.util.stream.*;

public class PrintStreamElementByForeachMethod {
    public static void main(String[] args) {
        // Here of() method of Stream interface is used to get the stream
        Stream stm = Stream.of("Java", "is", "a", "programming", "language");

        // we are printing the stream by using forEach() method
        stm.forEach(System.out::println);
    }
}

输出

[Java, is, a, programming, language]

3. peek() 方法

该方法在java.util.stream包中可用。

此方法不是静态的,因此将使用Stream对象调用此方法。

这个方法的语法如下所示

Stream peek(Consumer <? super T> consumer);

这个方法返回一个Stream,它包含Current流的所有元素,并对每个元素执行给定的操作或动作。

在这个方法中,如果一个流已经被消费,那么我们希望再次消费的流,在这种情况下,我们将不会得到任何错误或异常,而且它是有效的。

示例

import java.util.stream.*;

public class PrintStreamElementByPeekMethod {
    public static void main(String[] args) {
        // Here of() method of Stream interface is used to get the stream
        Stream stm = Stream.of("Java", "is", "a", "programming", "language");

        //  we are printing the stream by using peek() method 
        //  and it provides the facility count() method to terminate 
        stm.peek(stm1 -> System.out.println(stm1)).count();
    }
}

输出

Java
is
a
programming
language

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • WebSocket简介与消息推送

    WebSocket简介与消息推送

    这篇文章介绍了WebSocket简介与消息推送,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • 浅谈Java8新特性Predicate接口

    浅谈Java8新特性Predicate接口

    这篇文章主要介绍了浅谈Java8新特性Predicate接口,文中有非常详细的代码示例,对正在学习java的小伙伴们有很好的帮助,需要的朋友可以参考下
    2021-05-05
  • Java创建对象之显示创建与隐式创建

    Java创建对象之显示创建与隐式创建

    在本篇文章中,小编会带大家学习面向对象中关于对象的创建之显示创建和隐式创建,其实类和对象作为面向对象中最基本的,也是最重要的,需要的朋友可以参考下
    2023-05-05
  • IDEA切换JDK版本超详细操作步骤记录

    IDEA切换JDK版本超详细操作步骤记录

    在我们项目开发的过程中可能会遇到JDK版本过高或者过低导致一些程序无法启动,不兼容的问题,所以我们需要切换JDK的版本号,这篇文章主要给大家介绍了关于IDEA切换JDK版本的超详细操作步骤,需要的朋友可以参考下
    2024-03-03
  • Java中Pattern用法实例(正则表达式)

    Java中Pattern用法实例(正则表达式)

    Pattern在java.util.regex包中,是正则表达式的编译表示形式,此类的实例是不可变的,可供多个并发线程安全使用,下面这篇文章主要给大家介绍了关于Java正则表达式Pattern用法的相关资料,需要的朋友可以参考下
    2022-07-07
  • 最全总结SpringBean的作用域管理

    最全总结SpringBean的作用域管理

    今天给大家详细总结了SpringBean的作用域管理,文中有非常详细的图文介绍以及代码示例,对正在学习java的小伙伴们还很有帮助,需要的朋友可以参考下
    2021-05-05
  • 详解Quartz 与 Spring框架集成的三种方式

    详解Quartz 与 Spring框架集成的三种方式

    这篇文章主要介绍了详解Quartz 与 Spring框架集成的三种方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • SpringCloud OpenFeign 服务调用传递 token的场景分析

    SpringCloud OpenFeign 服务调用传递 token的场景分析

    这篇文章主要介绍了SpringCloud OpenFeign 服务调用传递 token的场景分析,本篇文章简单介绍 OpenFeign 调用传递 header ,以及多线程环境下可能会出现的问题,其中涉及到 ThreadLocal 的相关知识,需要的朋友可以参考下
    2022-07-07
  • SpringBoot整合Redis的步骤

    SpringBoot整合Redis的步骤

    这篇文章主要介绍了SpringBoot整合Redis的步骤,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下
    2020-11-11
  • 基于struts2和hibernate实现登录和注册功能

    基于struts2和hibernate实现登录和注册功能

    这篇文章主要为大家详细介绍了基于struts2和hibernate实现登录和注册功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10

最新评论