<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 78成人精品电影在线播放| 一级做a爰黑人又硬又粗免费看51社区国产精品视 | 中文字幕亚洲精品| 久久免费国产精品| 国产手机精品视频| 色欲AV永久无码精品无码| 久久精品国产亚洲AV果冻传媒| 亚洲国产精品无码久久九九 | 日本精品中文字幕| 惠民福利中文字幕人妻无码乱精品| 免费精品一区二区三区第35| 国产在线高清精品二区色五郎| 亚洲Av永久无码精品黑人| 久久ww精品w免费人成| 亚洲AV永久无码精品成人| 91麻豆精品国产自产在线观看一区| 国产午夜精品福利| 国产精品无码制服丝袜| 思思久久好好热精品国产| 97久久精品国产成人影院| 国产精品色内内在线播放| 99精品国产在热久久| 国产精品国产三级国产AⅤ| 国产午夜亚洲精品不卡| 国产精品自在线拍国产手青青机版| 中文字幕精品一二三四五六七八| 91精品在线国产| 真实国产乱子伦精品免费| 少妇人妻无码精品视频app| 亚洲国产精品VA在线观看麻豆| 国内精品卡1卡2卡区别| 91国内外精品自在线播放| 国内精品久久久久影院网站| 500av导航大全精品| 国产精品va久久久久久久| 国产三级精品三级| 久久青青草原精品国产软件| 水蜜桃精品一二三| 久久久国产精品网站| 久久国产精品国产精品| 99视频有精品视频免费观看|