java 8 stream 怎么打印数据元素

java 8 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
  1. 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]
  • 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
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值