国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java 8 創(chuàng)建 Stream 的 10 種方式,我保證你受益無窮!

Crazy_Coder / 405人閱讀

摘要:今天來分享下在中創(chuàng)建的種方式,我就整理了種,其實(shí)還有更多,僅供大家參考學(xué)習(xí)下。我們直接使用源碼中的方式也是一樣的。轉(zhuǎn)發(fā)分享一下吧,我保證你日后總有機(jī)會用得著的。

之前棧長分享過 Java 8 一系列新特性的文章,其中重點(diǎn)介紹了 Stream.


獲取上面這份 Java 8~12 系列新特性干貨文章,請在微信搜索關(guān)注微信公眾號:Java技術(shù)棧,在公眾號后臺回復(fù):java。

今天來分享下在 Java 8 中創(chuàng)建 Stream 的 10 種方式,我就整理了 10 種,其實(shí)還有更多,僅供大家參考學(xué)習(xí)下。

1、Stream.of 可變參數(shù)
Stream stream1 = Stream.of("A", "B", "C");
System.out.println("stream1:" + stream1.collect(joining()));

程序輸出:

stream1:ABC
2、Stream.of 數(shù)組
String[] values = new String[]{"A", "B", "C"};
Stream stream2 = Stream.of(values);
System.out.println("stream2:" + stream2.collect(joining()));

程序輸出:

stream2:ABC

看 Stream.of 源碼,上面這兩種方式其實(shí)就是第三種方式的包裝版。

public static Stream of(T... values) {
    return Arrays.stream(values);
}

我們直接使用源碼中的方式也是一樣的。

3、Arrays.stream
String[] values = new String[]{"A", "B", "C"};
Stream stream3 = Arrays.stream(values);
System.out.println("stream3:" + stream3.collect(joining()));

程序輸出:

stream3:ABC
4、List
List list = Arrays.asList("A", "B", "C");
Stream stream4 = list.stream();
System.out.println("stream4:" + stream4.collect(joining()));

程序輸出:

stream4:ABC
5、Set
Set set = new HashSet<>(Arrays.asList("A", "B", "C"));
Stream stream5 = set.stream();
System.out.println("stream5:" + stream5.collect(joining()));

程序輸出:

stream5:ABC
6、Map
Map map = new HashMap<>();
map.put("1", "A");
map.put("2", "B");
map.put("3", "C");
Stream stream6 = map.values().stream();
System.out.println("stream6:" + stream6.collect(joining()));

程序輸出:

stream6:ABC
7、Stream.iterate
Stream stream7 = Stream.iterate("A", e -> String.valueOf((char) (e.charAt(0) + 1))).limit(3);
System.out.println("stream7:" + stream7.collect(joining()));

程序輸出:

stream7:ABC
8、Pattern
String value = "A B C";
Stream stream8 = Pattern.compile("W").splitAsStream(value);
System.out.println("stream8:" + stream8.collect(joining()));

程序輸出:

stream8:ABC
9、Files.lines
try {
    Stream stream9 = Files.lines(Paths.get("d:/data.txt"));
    System.out.println("stream9:" + stream9.collect(joining()));
} catch (IOException e) {
    e.printStackTrace();
}

data.txt文件內(nèi)容如下:

A
B
C

程序輸出:

stream9:ABC
10、Stream.generate
Stream stream10 = Stream.generate(() -> "A").limit(3);
System.out.println("stream10:" + stream10.collect(joining()));

程序輸出:

stream10:AAA

好了,這是棧長整理的 10 種創(chuàng)建 Stream 的方式,是不是很騷?如果你還知道其他的騷操作,可以留言告訴大家,讓大家記住你的頭像和ID。

轉(zhuǎn)發(fā)分享一下吧,我保證你日后總有機(jī)會用得著的。

大量 Java 8~12 的新特性文章我正在編寫中,棧長將陸續(xù)分享出來,微信搜索關(guān)注微信公眾號:Java技術(shù)棧,公眾號將第一時間推送,不要錯過。

本文原創(chuàng)首發(fā)于微信公眾號:Java技術(shù)棧(id:javastack),轉(zhuǎn)載請原樣保留本信息。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/75419.html

相關(guān)文章

  • java 8 實(shí)戰(zhàn)》讀書筆記 -第五章 使用流

    摘要:比如,你可以建立一個,選出熱量超過卡路里的頭三道菜請注意也可以用在無序流上,比如源是一個。跳過元素流還支持方法,返回一個扔掉了前個元素的流。一般來說,應(yīng)該使用來對這種流加以限制,以避免打印無窮多個值。 一、篩選和切片 1.用謂詞篩選 Streams接口支持filter方法。該操作會接受一個謂詞(一個返回boolean的函數(shù))作為參數(shù),并返回一個包括所有符合謂詞的元素的流。例如篩選出所有...

    Richard_Gao 評論0 收藏0
  • 編程任務(wù)之:打造斐波那契世界

    摘要:以前的編程任務(wù)多數(shù)是要求打印出序列前項的值,接口往往像這樣然后我們巴拉巴拉用一個循環(huán)搞定,而這次重點(diǎn)在于接口,需要實(shí)現(xiàn)一個斐波那契序列發(fā)生器。 本次我領(lǐng)到的任務(wù)如下: 任務(wù): 你正在打造一個斐波那契世界,這是一個函數(shù)式的世界, 在這個世界中每個生命都是一個函數(shù) root是這個世界的祖先 root.value; // 1 在這樣的世界,生孩子特別容易: const child = ...

    widuu 評論0 收藏0
  • Java8實(shí)戰(zhàn)》-第五章讀書筆記(使用流Stream-02)

    摘要:第三個問題查找所有來自于劍橋的交易員,并按姓名排序。第六個問題打印生活在劍橋的交易員的所有交易額。第八個問題找到交易額最小的交易。 付諸實(shí)戰(zhàn) 在本節(jié)中,我們會將迄今學(xué)到的關(guān)于流的知識付諸實(shí)踐。我們來看一個不同的領(lǐng)域:執(zhí)行交易的交易員。你的經(jīng)理讓你為八個查詢找到答案。 找出2011年發(fā)生的所有交易,并按交易額排序(從低到高)。 交易員都在哪些不同的城市工作過? 查找所有來自于劍橋的交易...

    liangzai_cool 評論0 收藏0
  • Java 8 API 示例:字符串、數(shù)值、算術(shù)和文件

    摘要:示例字符串?dāng)?shù)值算術(shù)和文件原文譯者飛龍協(xié)議大量的教程和文章都涉及到中最重要的改變,例如表達(dá)式和函數(shù)式數(shù)據(jù)流。不僅僅是字符串,正則表達(dá)式模式串也能受益于數(shù)據(jù)流。 Java 8 API 示例:字符串、數(shù)值、算術(shù)和文件 原文:Java 8 API by Example: Strings, Numbers, Math and Files 譯者:飛龍 協(xié)議:CC BY-NC-SA 4.0 ...

    KavenFan 評論0 收藏0
  • 【讀】Java核心技術(shù)卷1

    摘要:當(dāng)使用構(gòu)造器時,無法改變所構(gòu)造的對象類型,而方法將返回一個類對象,這是的子類。關(guān)鍵字的兩種用法一是引用本類成員變量,二是調(diào)用本類其他構(gòu)造函數(shù)。不過兩者調(diào)用構(gòu)造函數(shù)時,調(diào)用語句必須放在構(gòu)造函數(shù)第一行。 閱讀原文:【讀】Java核心技術(shù)卷1 看到這本書時,我的內(nèi)心是崩潰的,卷1就700多頁,但是這本書是很多前輩所推薦的,想必其中必有精華所在,硬著頭皮上吧。 showImg(https://...

    _DangJin 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<