最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java8 stream 如何打印數(shù)據(jù)元素

 更新時(shí)間:2022年11月15日 14:37:34   作者:瀟灑卻風(fēng)流  
這篇文章主要介紹了java8 stream 如何打印數(shù)據(jù)元素,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

寫在前面

在這里,我們將會學(xué)習(xí)怎么利用java8 快速的打印出需要打印的元素

利用stream打印元素

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

這三種不同方式的名稱如下

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

我們將在java 8中逐一看到打印流元素的三種方法……

1. forEach() 方法

  • 該方法在java.util.stream包中可用。
  • 這不是靜態(tài)方法,所以這個(gè)方法將被對象調(diào)用。
  • 這個(gè)方法的返回類型是void,所以它不返回任何東西。
  • 這個(gè)方法充當(dāng)流的每個(gè)元素。

這個(gè)方法的語法如下所示:

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

這里,Consumer是一個(gè)接口,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包中可用。

這個(gè)方法不是靜態(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)用此方法。

這個(gè)方法的語法如下所示

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

這個(gè)方法返回一個(gè)Stream,它包含Current流的所有元素,并對每個(gè)元素執(zhí)行給定的操作或動(dòng)作。

在這個(gè)方法中,如果一個(gè)流已經(jīng)被消費(fèi),那么我們希望再次消費(fèi)的流,在這種情況下,我們將不會得到任何錯(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)文章

  • WebSocket簡介與消息推送

    WebSocket簡介與消息推送

    這篇文章介紹了WebSocket簡介與消息推送,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • 淺談Java8新特性Predicate接口

    淺談Java8新特性Predicate接口

    這篇文章主要介紹了淺談Java8新特性Predicate接口,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • Java創(chuàng)建對象之顯示創(chuàng)建與隱式創(chuàng)建

    Java創(chuàng)建對象之顯示創(chuàng)建與隱式創(chuàng)建

    在本篇文章中,小編會帶大家學(xué)習(xí)面向?qū)ο笾嘘P(guān)于對象的創(chuàng)建之顯示創(chuàng)建和隱式創(chuàng)建,其實(shí)類和對象作為面向?qū)ο笾凶罨镜?,也是最重要?需要的朋友可以參考下
    2023-05-05
  • IDEA切換JDK版本超詳細(xì)操作步驟記錄

    IDEA切換JDK版本超詳細(xì)操作步驟記錄

    在我們項(xiàng)目開發(fā)的過程中可能會遇到JDK版本過高或者過低導(dǎo)致一些程序無法啟動(dòng),不兼容的問題,所以我們需要切換JDK的版本號,這篇文章主要給大家介紹了關(guān)于IDEA切換JDK版本的超詳細(xì)操作步驟,需要的朋友可以參考下
    2024-03-03
  • Java中Pattern用法實(shí)例(正則表達(dá)式)

    Java中Pattern用法實(shí)例(正則表達(dá)式)

    Pattern在java.util.regex包中,是正則表達(dá)式的編譯表示形式,此類的實(shí)例是不可變的,可供多個(gè)并發(fā)線程安全使用,下面這篇文章主要給大家介紹了關(guān)于Java正則表達(dá)式Pattern用法的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • 最全總結(jié)SpringBean的作用域管理

    最全總結(jié)SpringBean的作用域管理

    今天給大家詳細(xì)總結(jié)了SpringBean的作用域管理,文中有非常詳細(xì)的圖文介紹以及代碼示例,對正在學(xué)習(xí)java的小伙伴們還很有幫助,需要的朋友可以參考下
    2021-05-05
  • 詳解Quartz 與 Spring框架集成的三種方式

    詳解Quartz 與 Spring框架集成的三種方式

    這篇文章主要介紹了詳解Quartz 與 Spring框架集成的三種方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11
  • SpringCloud?OpenFeign?服務(wù)調(diào)用傳遞?token的場景分析

    SpringCloud?OpenFeign?服務(wù)調(diào)用傳遞?token的場景分析

    這篇文章主要介紹了SpringCloud?OpenFeign?服務(wù)調(diào)用傳遞?token的場景分析,本篇文章簡單介紹?OpenFeign?調(diào)用傳遞?header?,以及多線程環(huán)境下可能會出現(xiàn)的問題,其中涉及到?ThreadLocal?的相關(guān)知識,需要的朋友可以參考下
    2022-07-07
  • SpringBoot整合Redis的步驟

    SpringBoot整合Redis的步驟

    這篇文章主要介紹了SpringBoot整合Redis的步驟,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下
    2020-11-11
  • 基于struts2和hibernate實(shí)現(xiàn)登錄和注冊功能

    基于struts2和hibernate實(shí)現(xiàn)登錄和注冊功能

    這篇文章主要為大家詳細(xì)介紹了基于struts2和hibernate實(shí)現(xiàn)登錄和注冊功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10

最新評論

永丰县| 临海市| 哈密市| 石林| 金昌市| 昌邑市| 黄平县| 乌鲁木齐市| 新巴尔虎右旗| 晋宁县| 正蓝旗| 农安县| 巢湖市| 莱西市| 化州市| 车致| 庆安县| 嘉禾县| 大竹县| 会理县| 平利县| 垣曲县| 永善县| 武冈市| 勃利县| 五峰| 南开区| 玛多县| 吴旗县| 甘德县| 慈利县| 化德县| 景宁| 资中县| 苍南县| 新疆| 永清县| 巫溪县| 霸州市| 博兴县| 湖口县|