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.