成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

java8-模擬hadoop

roundstones / 707人閱讀

摘要:的入門程序,也能實(shí)現(xiàn)統(tǒng)計單詞數(shù)量程序特殊文件需要格式轉(zhuǎn)換為將多個流融合為一個統(tǒng)計單詞數(shù)量程序通過自定義統(tǒng)計,其實(shí)也使用的是記住凡是

hadoop的入門程序,java8也能實(shí)現(xiàn)

txt統(tǒng)計單詞數(shù)量程序

@Test
public void fileWordCount() throws IOException {
    //特殊文件需要格式轉(zhuǎn)換為txt
    Files.readAllLines(Paths.get("D:jd.txt"), StandardCharsets.UTF_8).parallelStream()
            //將多個流融合為一個
            .flatMap(line -> Arrays.stream(line.trim().split("s")))
            .filter(word -> word.length() > 0)
            .map(word -> new AbstractMap.SimpleEntry<>(word, 1))
            .collect(groupingBy(AbstractMap.SimpleEntry :: getKey, counting()))
            .entrySet().forEach(System.out :: println);
}

List統(tǒng)計單詞數(shù)量程序

@Test
public void listWordCount(){
    List stringList = Arrays.asList("a","b","c","a");
    stringList.stream()
            .map(s -> new AbstractMap.SimpleEntry<>(s, 1))
            .collect(groupingBy(AbstractMap.SimpleEntry :: getKey, counting()))
            .entrySet().stream()
            .forEach(System.out :: println);
    System.out.println("---------------------------------------------------");
    //通過自定義reduce統(tǒng)計,其實(shí)counting()也使用的是reduce
    //記?。悍彩窃谥虚g操作使用了map,接口定義都需要聲明出來,直接使用lambda表達(dá)式會有1.無法讀取method,2.類型檢查不到 的問題
    BinaryOperator binaryOperator2 = Integer::sum;
    //排序的轉(zhuǎn)換規(guī)則接口
    ToIntFunction sortMapFunction = (Map.Entry se) -> Integer.valueOf(se.getValue().toString()).intValue();
    stringList
            .stream()
            .map(s -> new AbstractMap.SimpleEntry<>(s, 1))
            .collect(groupingBy(AbstractMap.SimpleEntry::getKey,
                    reducing(0, AbstractMap.SimpleEntry::getValue,binaryOperator2)))
            .entrySet()
            .stream()
            .sorted(Comparator.comparingInt(sortMapFunction))
            .forEach(System.out::println);
}

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/68143.html

相關(guān)文章

  • 到處是map、flatMap,啥意思?

    摘要:中使用那一套,線程的速度,你知道的而對于分布式數(shù)據(jù)流來說,本來就是并行的,這種參數(shù)意義就不大了。函數(shù)種類一般作用在數(shù)據(jù)流上的函數(shù),會分為兩類。中的程序是實(shí)現(xiàn)在數(shù)據(jù)流上的。可以看作是的更新日志,數(shù)據(jù)流中的每一個記錄對應(yīng)數(shù)據(jù)庫中的每一次更新。最近入職一個有趣的年輕同事,提交了大量大量的代碼。翻開git記錄一看,原來是用了非常多的java8的語法特性,重構(gòu)了代碼。用的最多的,就是map、flatM...

    番茄西紅柿 評論0 收藏0
  • 到處是map、flatMap,啥意思?

    摘要:中使用那一套,線程的速度,你知道的而對于分布式數(shù)據(jù)流來說,本來就是并行的,這種參數(shù)意義就不大了。函數(shù)種類一般作用在數(shù)據(jù)流上的函數(shù),會分為兩類。中的程序是實(shí)現(xiàn)在數(shù)據(jù)流上的??梢钥醋魇堑母氯罩?,數(shù)據(jù)流中的每一個記錄對應(yīng)數(shù)據(jù)庫中的每一次更新。最近入職一個有趣的年輕同事,提交了大量大量的代碼。翻開git記錄一看,原來是用了非常多的java8的語法特性,重構(gòu)了代碼。用的最多的,就是map、flatM...

    番茄西紅柿 評論0 收藏0
  • 到處是map、flatMap,啥意思?

    摘要:中使用那一套,線程的速度,你知道的而對于分布式數(shù)據(jù)流來說,本來就是并行的,這種參數(shù)意義就不大了。函數(shù)種類一般作用在數(shù)據(jù)流上的函數(shù),會分為兩類。中的程序是實(shí)現(xiàn)在數(shù)據(jù)流上的。可以看作是的更新日志,數(shù)據(jù)流中的每一個記錄對應(yīng)數(shù)據(jù)庫中的每一次更新。最近入職一個有趣的年輕同事,提交了大量大量的代碼。翻開git記錄一看,原來是用了非常多的java8的語法特性,重構(gòu)了代碼。用的最多的,就是map、flatM...

    xuxueli 評論0 收藏0
  • Java8-9-Stream介紹與操作方式詳解

    摘要:中的與表達(dá)式可以說是相伴相生的,通過我們可以更好的更為流暢更為語義化的操作集合。流是一種惰性操作,所有對源數(shù)據(jù)的計算只在終止操作被初始化的時候才會執(zhí)行。然后傳入表達(dá)式將每個元素轉(zhuǎn)換大寫,通過方法將結(jié)果收集到中。 上一篇系統(tǒng)學(xué)了方法引用的幾種類型及應(yīng)用場景,本篇開始我們正式學(xué)習(xí)Stream。Java8中的Stream與lambda表達(dá)式可以說是相伴相生的,通過Stream我們可以更好的更...

    時飛 評論0 收藏0

發(fā)表評論

0條評論

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