Java 程式以 Lambda 表示式獲取詞頻


假設 List 如下所示 −

List<String> list = Arrays.asList("Welcome", "to","the","club", "club", "the");

不,讓我們建立一個對映表來獲取詞頻。在此,我們還要使用 Lambda 表示式 −

Map<String, Integer> map = list
   .parallelStream()
   .flatMap(a -> Arrays.asList(a.split(" ")).stream())
   .collect(
   Collectors.toConcurrentMap(c ->c.toLowerCase(), c -> 1,
   Integer::sum));

示例

 即時演示

import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Demo {
   public static void main(String[] args) {
      List<String> list = Arrays.asList("Welcome", "to","the","club", "club", "the");
      Map<String, Integer> map = list
         .parallelStream()
         .flatMap(a -> Arrays.asList(a.split(" ")).stream())
         .collect(
         Collectors.toConcurrentMap(c ->c.toLowerCase(), c -> 1,
         Integer::sum));
      System.out.println("Word Frequency = "+map);
   }
}

輸出

Word Frequency = {the=2, club=2, to=1, welcome=1}

更新於: 2019 年 7 月 30 日

434 人次瀏覽

開啟你的職業生涯

完成課程並獲得認證

立即開始
廣告
© . All rights reserved.