流式編程

創(chuàng)建流8種方法

1.創(chuàng)建空流 這個方法經(jīng)常被用在創(chuàng)建一個不含元素的空的流進(jìn)行返回,避免返回null

    private static <T>Stream createEmptyStream(T t){
        Stream<T> stream = Stream.empty();
        return stream;
    }

2.從集合中創(chuàng)建流

    private static Stream createCollectionStream(){
        Collection<String> collection = Arrays.asList("JAVA", "J2EE", "Spring", "Hibernate");
        return  collection.stream();
    }

3.從數(shù)組中創(chuàng)建流

   private static Stream createArrayStream(){
        // 數(shù)組作為Stream源
        Stream<String> streamOfArray = Stream.of("a", "b", "c");
        streamOfArray.forEach(System.out::println);
        // 從數(shù)組或者數(shù)組的部分元素中創(chuàng)建流
        String[] arr = new String[] { "a", "b", "c" };
        Stream<String> streamOfArrayFull = Arrays.stream(arr);
        return null;
    }

4.Stream.builder()創(chuàng)建流

  private static Stream createBuilderStream(){
        Stream<String> streamBuilder = Stream.<String>builder().add("a").add("b").add("c").build();
        streamBuilder.forEach(System.out::println);
        return null;
    }

5.使用Stream.generate()

   private static Stream createGenerateStream(){
        Stream<String> streamGenerated = Stream.generate(() -> "element1").limit(10);

        streamGenerated.forEach(System.out::println);
        return  null;
    }

6.使用Stream.iterate()

   private static Stream createIterateStream(){
        Stream<Integer> streamIterated = Stream.iterate(1, n -> n + 2).limit(5);
        streamIterated.forEach(System.out::println);
        return  null;
    }

7.文件獲取流

    public static Stream<String> createFileStream() throws IOException {
        Path path = Paths.get("D:\\data\\test.txt");
        Stream<String> streamOfStrings = Files.lines(path);
        Stream<String> streamWithCharset = Files.lines(path, Charset.forName("UTF-8"));
//        streamOfStrings.forEach(System.out::println);
//        streamWithCharset.forEach(System.out::println);
//        streamOfStrings.close();
//        streamWithCharset.close();
        return streamWithCharset;
    }

8.從數(shù)據(jù)中獲取

    private static Stream createCreationStream() throws IOException {
        IntStream intStream = IntStream.range(1, 4);
        intStream.forEach(System.out::println);

        LongStream longStream = LongStream.rangeClosed(1, 5);
        longStream.forEach(System.out::println);

        Random random = new Random();
        DoubleStream doubleStream = random.doubles(2);
        doubleStream.forEach(System.out::println);

        return null;
    }

9.正則表達(dá)式生成流

  public static Stream<String> createRegexStream() throws IOException {
        Path path = Paths.get("D:\\data\\test.txt");
        String streamOfStrings = Files.lines(path).collect(Collectors.joining(""));
        Stream<String>  stringStream= compile("[.]+}").splitAsStream(streamOfStrings);
//        Stream<String> streamWithCharset = Files.lines(path, Charset.forName("UTF-8"));
//        stringStream.forEach(System.out::println);
        return stringStream;
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市靠娱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌雁乡,老刑警劉巖曹铃,帶你破解...
    沈念sama閱讀 212,185評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡颤霎,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,445評論 3 385
  • 文/潘曉璐 我一進(jìn)店門涂滴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來友酱,“玉大人,你說我怎么就攤上這事柔纵〉奚迹” “怎么了?”我有些...
    開封第一講書人閱讀 157,684評論 0 348
  • 文/不壞的土叔 我叫張陵搁料,是天一觀的道長或详。 經(jīng)常有香客問我,道長郭计,這世上最難降的妖魔是什么霸琴? 我笑而不...
    開封第一講書人閱讀 56,564評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮拣宏,結(jié)果婚禮上沈贝,老公的妹妹穿的比我還像新娘。我一直安慰自己勋乾,他們只是感情好宋下,可當(dāng)我...
    茶點故事閱讀 65,681評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著辑莫,像睡著了一般学歧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上各吨,一...
    開封第一講書人閱讀 49,874評論 1 290
  • 那天枝笨,我揣著相機與錄音,去河邊找鬼。 笑死横浑,一個胖子當(dāng)著我的面吹牛剔桨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播徙融,決...
    沈念sama閱讀 39,025評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼洒缀,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了欺冀?” 一聲冷哼從身側(cè)響起树绩,我...
    開封第一講書人閱讀 37,761評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎隐轩,沒想到半個月后饺饭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,217評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡职车,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,545評論 2 327
  • 正文 我和宋清朗相戀三年瘫俊,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片提鸟。...
    茶點故事閱讀 38,694評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡军援,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出称勋,到底是詐尸還是另有隱情胸哥,我是刑警寧澤,帶...
    沈念sama閱讀 34,351評論 4 332
  • 正文 年R本政府宣布赡鲜,位于F島的核電站空厌,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏银酬。R本人自食惡果不足惜嘲更,卻給世界環(huán)境...
    茶點故事閱讀 39,988評論 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望揩瞪。 院中可真熱鬧赋朦,春花似錦、人聲如沸李破。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,778評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嗤攻。三九已至毛嫉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間妇菱,已是汗流浹背承粤。 一陣腳步聲響...
    開封第一講書人閱讀 32,007評論 1 266
  • 我被黑心中介騙來泰國打工暴区, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人辛臊。 一個月前我還...
    沈念sama閱讀 46,427評論 2 360
  • 正文 我出身青樓仙粱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親浪讳。 傳聞我的和親對象是個殘疾皇子缰盏,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,580評論 2 349

推薦閱讀更多精彩內(nèi)容

  • 集合優(yōu)化了對象的存儲,而流則是對數(shù)據(jù)的處理 流是一系列與特定存儲機制無關(guān)的元素淹遵,利用流,我們無需迭代集合中的元素负溪,...
    Jay丶x閱讀 920評論 0 0
  • Stream流 說到Stream便容易想到I/O Stream透揣,而實際上,誰規(guī)定“流”就一定是“IO流”呢川抡?在Ja...
    哈哈大圣閱讀 1,923評論 0 3
  • 00-流式編程思想1 背景 事件數(shù)據(jù)的產(chǎn)生隨著時間的推移逐漸下降 人們對某件事的理解往往來自基于有效論據(jù)的結(jié)論辐真。要...
    蝸牛寫java閱讀 824評論 0 1
  • 本次課程的標(biāo)題不像之前那樣易懂,是一個陌生的概念崖堤,“流式編程”是個什么東西侍咱? 在了解流式編程之前先思考一下“流”,...
    tommy990607閱讀 13,140評論 1 1
  • 我不是一個有很多故事的人昧廷,但卻有很多的故事想要講給你聽。 這些故事中的主角偎箫,都是我在旅途中遇到的可愛的人木柬。 他們和...
    三三先生閱讀 1,524評論 0 3