<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></ul>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    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动漫精品一区二区免费| 久久久久99精品成人片直播| 亚洲精品国产V片在线观看| 国产99re在线观看只有精品| 亚洲日韩精品射精日| 国产精品老女人精品视| 亚洲国产精品综合福利专区| 自拍偷在线精品自拍偷无码专区| 国产精品自在线拍国产手青青机版| 91麻豆精品国产片在线观看| 999成人精品视频在线| 国产精品扒开腿做爽爽爽的视频| 精品黑人一区二区三区| 精品视频在线免费观看| 500av大全导航精品| 国产精品麻豆欧美日韩WW| 91国内揄拍·国内精品对白| 久久er国产精品免费观看2| 国产精品美女久久久久AV福利| 日韩精品一区二区三区在线观看l 日韩精品一区二区三区毛片 | 亚洲国产成人精品电影| 亚洲人精品午夜射精日韩 | MM1313亚洲国产精品| 亚洲视频精品在线观看| 亚洲国产精品无码av| 国模精品一区二区三区| 国产成人无码精品久久久免费| 日韩精品福利在线| 国内精品自在自线视频| 国产高清国产精品国产专区| 99在线观看精品| 久久777国产线看观看精品卜| 亚洲精品国产精品乱码不卡√| 精品国产日韩亚洲一区| 亚洲国产精品视频| 西瓜精品国产自在现线| 国产精品一区二区在线观看| 国产精品白丝喷水在线观看| 精品国产免费观看一区|