java8 stream 如何打印數(shù)據(jù)元素
寫在前面
在這里,我們將會學(xué)習(xí)怎么利用java8 快速的打印出需要打印的元素
利用stream打印元素
在Java中,有三種不同的方法來打印Java 8中的Stream元素。
這三種不同方式的名稱如下
- Stream的 forEach()方法
- Stream的 println()方法和collect()方法
- Stream的 peek()方法
我們將在java 8中逐一看到打印流元素的三種方法……
1. forEach() 方法
- 該方法在java.util.stream包中可用。
- 這不是靜態(tài)方法,所以這個方法將被對象調(diào)用。
- 這個方法的返回類型是void,所以它不返回任何東西。
- 這個方法充當(dāng)流的每個元素。
這個方法的語法如下所示:
void forEach(Consumer <? super T > consumer);
這里,Consumer是一個接口,T是元素類型
示例:不用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
示例:簡寫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包中可用。
這個方法不是靜態(tài)的,所以可以通過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包中可用。
此方法不是靜態(tài)的,因此將使用Stream對象調(diào)用此方法。
這個方法的語法如下所示
Stream peek(Consumer <? super T> consumer);
這個方法返回一個Stream,它包含Current流的所有元素,并對每個元素執(zhí)行給定的操作或動作。
在這個方法中,如果一個流已經(jīng)被消費(fèi),那么我們希望再次消費(fèi)的流,在這種情況下,我們將不會得到任何錯誤或異常,而且它是有效的。
示例
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
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
spring boot實(shí)戰(zhàn)之使用JSP的示例
本篇文章主要介紹了spring boot實(shí)戰(zhàn)之使用JSP的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10Mybatis foreach標(biāo)簽使用不當(dāng)導(dǎo)致異常的原因淺析
這篇文章主要介紹了Mybatis foreach標(biāo)簽使用不當(dāng)導(dǎo)致異常的原因探究,非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下2016-12-12JavaWeb應(yīng)用實(shí)例:用servlet實(shí)現(xiàn)oracle 基本增刪改查
本篇文章主要介紹了JavaWeb應(yīng)用實(shí)例:用servlet實(shí)現(xiàn)oracle 基本增刪改查,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。2017-01-01Java Swing組件單選框JRadioButton用法示例
這篇文章主要介紹了Java Swing組件單選框JRadioButton用法,結(jié)合具體實(shí)例形式分析了Swing單選框JRadioButton的使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2017-11-11Java 實(shí)現(xiàn)分布式服務(wù)的調(diào)用鏈跟蹤
分布式服務(wù)中完成某一個業(yè)務(wù)動作,需要服務(wù)之間的相互協(xié)作才能完成,在這一次動作引起的多服務(wù)的聯(lián)動我們需要用1個唯一標(biāo)識關(guān)聯(lián)起來,關(guān)聯(lián)起來就是調(diào)用鏈的跟蹤。本文介紹了Java 實(shí)現(xiàn)分布式服務(wù)的調(diào)用鏈跟蹤的步驟2021-06-06SpringMVC數(shù)據(jù)頁響應(yīng)ModelAndView實(shí)現(xiàn)頁面跳轉(zhuǎn)
本文主要介紹了SpringMVC數(shù)據(jù)頁響應(yīng)ModelAndView實(shí)現(xiàn)頁面跳轉(zhuǎn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07