<th id="wu2k2"><s id="wu2k2"></s></th> <blockquote id="wu2k2"></blockquote>
  • <tr id="wu2k2"></tr>
  • <samp id="wu2k2"><tbody id="wu2k2"></tbody></samp><samp id="wu2k2"><tbody id="wu2k2"></tbody></samp>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    java flatmap

    文檔

    java flatmap

    使用flatMap方法的效果是,各個數組并不是分別映射一個流,而是映射成流的內容,所有使用map(Array::stream)時生成的單個流被合并起來,即扁平化為一個流。
    推薦度:
    導讀使用flatMap方法的效果是,各個數組并不是分別映射一個流,而是映射成流的內容,所有使用map(Array::stream)時生成的單個流被合并起來,即扁平化為一個流。

    很多朋友都想知道java flatmap的作用有哪些?下面就一起來了解一下吧~

    構建對象

    class?User{
    ?private???String?addr
    }

    將多個User集合中的addr按照;分割合并成一個字符串list

    ??List?uList?=?Lists.newArrayList();
    ????????User?u1?=?new?User();
    ????????u1.setAddr("a1;a2;a3;a4;a5");
    ?
    ????????User?u2?=?new?User();
    ????????u2.setAddr("b1;b2;b3;b4;b5");
    ?
    ????????uList.add(a);
    ????????uList.add(b);
    ?
    ????????List?addrList?=?uList.stream().map(x?->?x.getAddr()).flatMap(x->Arrays.stream(x.split(";"))).collect(Collectors.toList());
    ????????//或者
    ????????List?ridStrList?=?uList.stream().map(x?->?x.getAddr()).map(x?->?x.split(";")).flatMap(Arrays::stream).collect(Collectors.toList());
    ????????System.out.println(addrList);

    說明:

    latMap的用法和含義住要通過一個案例來講解,

    案例:對給定單詞列表 ["Hello","World"],你想返回列表["H","e","l","o","W","r","d"]

    第一種方式

    String[]?words?=?new?String[]{"Hello","World"};
    ????????List?a?=?Arrays.stream(words)
    ????????????????.map(word?->?word.split(""))
    ????????????????.distinct()
    ????????????????.collect(toList());
    ????????a.forEach(System.out::print);

    代碼輸出為:[Ljava.lang.String;@12edcd21[Ljava.lang.String;@34c45dca (返回一個包含兩個String[]的list)

    ? 傳遞給map方法的lambda為每個單詞生成了一個String[](String列表)。因此,map返回的流實際上是Stream 類型的。想要的是用Stream來表示一個字符串。

    ? ? ? ? 下方圖是上方代碼stream的運行流程

    第二種方式:flatMap(對流扁平化處理)

    ??String[]?words?=?new?String[]{"Hello","World"};
    ????????List?a?=?Arrays.stream(words)
    ????????????????.map(word?->?word.split(""))
    ????????????????.flatMap(Arrays::stream)
    ????????????????.distinct()
    ????????????????.collect(toList());
    ????????a.forEach(System.out::print);

    結果輸出:HeloWrd

    使用flatMap方法的效果是,各個數組并不是分別映射一個流,而是映射成流的內容,所有使用map(Array::stream)時生成的單個流被合并起來,即扁平化為一個流。

    下圖是運用flatMap的stream運行流程,

    以上就是小編今天的分享,希望能夠幫到大家。

    文檔

    java flatmap

    使用flatMap方法的效果是,各個數組并不是分別映射一個流,而是映射成流的內容,所有使用map(Array::stream)時生成的單個流被合并起來,即扁平化為一個流。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關推薦
    java dowhile java flink java drools java dto java dynamic java flume java ear java foreach循環 java fork java ecc加密 java formatter java echarts java ehcache java email java empty java encapsulation java future java generator java enhancer java generic java findfirst java fileinputstream java file.exists() java dockerfile java field獲取值 java field java divide java feign java fastjson java dict java development java fastdfs java dev java dependency java調用asmx接口 java delete java獲取絕對值 java調用c++ java調用c++接口 java delegate
    Top 正在播放国产精品放孕妇| 久久精品国产精品亜洲毛片| 老司机亚洲精品影院无码| 亚洲精品在线视频| 亚洲AV无码国产精品永久一区| 久久亚洲精品AB无码播放| 国产精品九九久久免费视频| 精品久久久久国产| 国产成人精品日本亚洲网址| 久久精品人人做人人爽| 91精品国产9l久久久久| 午夜精品久久久久久| 精品国产高清久久久久久小说| 99在线精品免费视频九九视| 久久久久人妻精品一区蜜桃| 国产亚洲精品a在线观看app| 中文国产成人精品久久久| 亚洲精品偷拍视频免费观看| 在线观看麻豆精品国产不卡| 人妻少妇精品无码专区漫画| 国产精品大白天新婚身材| 精品深夜AV无码一区二区| 无码人妻精品一区二区三区在线| 国产麻豆9l精品三级站| 久久99精品久久久久久野外| 国产一区二区三区国产精品| 精品熟女碰碰人人a久久| 亚洲国产精品成人午夜在线观看| 国产精品1区2区3区在线播放| 亚洲精品亚洲人成在线麻豆| 久久久久人妻一区精品色| 日韩精品国产另类专区| 久久精品国产清白在天天线| 亚洲av永久无码精品漫画| 伊人久久精品无码二区麻豆| 亚洲精品卡2卡3卡4卡5卡区| 国产精品无码a∨精品| 国内精品91最新在线观看| 久久精品国产91久久麻豆自制 | 精品一区二区三区AV天堂| 老色鬼永久精品网站|