如何在Java 8中打印Stream的元素?

打印stream元素

在Java中,有三种不同的方法可以在java 8中打印Stream的元素。这三种不同方式的名称如下:

  1. Stream的forEach()方法

  2. 使用collect()Stream方法的println()

  3. 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));

    }

}

输出结果

E:\Programs>javac PrintStreamElementByForeachMethod.java

E:\Programs>java PrintStreamElementByForeachMethod

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);

    }

}

输出结果

E:\Programs>javac PrintStreamElementByForeachMethod.java

E:\Programs>java PrintStreamElementByForeachMethod

Java

is

a

programming

language

2)使用Stream的collect()方法的println()

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

  • 此方法不是静态的,因此可以通过Stream接口的对象进行访问。

  • 此方法将流元素收集为Collector对象,然后使用println()方法打印元素。

println()withcollect()方法的语法,

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

例:

import java.util.stream.*;

public class PrintStreamElementByForeachMethod {

    public static void main(String[] args) {

        //这里的Stream接口的of()方法用来获取流

        Stream stm = Stream.of("Java", "is", "a", "programming", "language");

        //我们正在使用forEach()方法打印流

        stm.forEach(System.out::println);

    }

}

输出结果

E:\Programs>javac PrintStreamElementByForeachMethod.java

E:\Programs>java PrintStreamElementByForeachMethod

[Java, is, a, programming, language]

3)Stream 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) {

        // 这里的Stream接口的of()方法用来获取流

        Stream stm = Stream.of("Java", "is", "a", "programming", "language");

        //我们正在使用peek()方法打印流

        //我们正在使用peek()方法打印流

        stm.peek(stm1 -> System.out.println(stm1)).count();

    }

}

输出结果

E:\Programs>javac PrintStreamElementByPeekMethod.java

E:\Programs>java PrintStreamElementByPeekMethod

Java

is

a

programming

language

以上是 如何在Java 8中打印Stream的元素? 的全部内容, 来源链接: utcz.com/z/334698.html

回到顶部