java8 stream 如何打印數(shù)據(jù)元素
寫(xiě)在前面
在這里,我們將會(huì)學(xué)習(xí)怎么利用java8 快速的打印出需要打印的元素
利用stream打印元素
在Java中,有三種不同的方法來(lái)打印Java 8中的Stream元素。
這三種不同方式的名稱(chēng)如下
- Stream的 forEach()方法
- Stream的 println()方法和collect()方法
- Stream的 peek()方法
我們將在java 8中逐一看到打印流元素的三種方法……
1. forEach() 方法
- 該方法在java.util.stream包中可用。
- 這不是靜態(tài)方法,所以這個(gè)方法將被對(duì)象調(diào)用。
- 這個(gè)方法的返回類(lèi)型是void,所以它不返回任何東西。
- 這個(gè)方法充當(dāng)流的每個(gè)元素。
這個(gè)方法的語(yǔ)法如下所示:
void forEach(Consumer <? super T > consumer);
這里,Consumer是一個(gè)接口,T是元素類(lèi)型
示例:不用lambda表達(dá)式
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
示例:簡(jiǎn)寫(xiě)lambda表達(dá)式
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包中可用。
這個(gè)方法不是靜態(tài)的,所以可以通過(guò)Stream接口的對(duì)象訪問(wèn)。
該方法以Collector對(duì)象的形式收集流元素,然后使用println()方法打印元素。
println()與collect()方法的語(yǔ)法
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包中可用。
此方法不是靜態(tài)的,因此將使用Stream對(duì)象調(diào)用此方法。
這個(gè)方法的語(yǔ)法如下所示
Stream peek(Consumer <? super T> consumer);
這個(gè)方法返回一個(gè)Stream,它包含Current流的所有元素,并對(duì)每個(gè)元素執(zhí)行給定的操作或動(dòng)作。
在這個(gè)方法中,如果一個(gè)流已經(jīng)被消費(fèi),那么我們希望再次消費(fèi)的流,在這種情況下,我們將不會(huì)得到任何錯(cuò)誤或異常,而且它是有效的。
示例
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
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java創(chuàng)建對(duì)象之顯示創(chuàng)建與隱式創(chuàng)建
在本篇文章中,小編會(huì)帶大家學(xué)習(xí)面向?qū)ο笾嘘P(guān)于對(duì)象的創(chuàng)建之顯示創(chuàng)建和隱式創(chuàng)建,其實(shí)類(lèi)和對(duì)象作為面向?qū)ο笾凶罨镜?,也是最重要?需要的朋友可以參考下2023-05-05
Java中Pattern用法實(shí)例(正則表達(dá)式)
Pattern在java.util.regex包中,是正則表達(dá)式的編譯表示形式,此類(lèi)的實(shí)例是不可變的,可供多個(gè)并發(fā)線程安全使用,下面這篇文章主要給大家介紹了關(guān)于Java正則表達(dá)式Pattern用法的相關(guān)資料,需要的朋友可以參考下2022-07-07
SpringCloud?OpenFeign?服務(wù)調(diào)用傳遞?token的場(chǎng)景分析
這篇文章主要介紹了SpringCloud?OpenFeign?服務(wù)調(diào)用傳遞?token的場(chǎng)景分析,本篇文章簡(jiǎn)單介紹?OpenFeign?調(diào)用傳遞?header?,以及多線程環(huán)境下可能會(huì)出現(xiàn)的問(wèn)題,其中涉及到?ThreadLocal?的相關(guān)知識(shí),需要的朋友可以參考下2022-07-07
基于struts2和hibernate實(shí)現(xiàn)登錄和注冊(cè)功能
這篇文章主要為大家詳細(xì)介紹了基于struts2和hibernate實(shí)現(xiàn)登錄和注冊(cè)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10

