如何循环和编辑流值(字符串)

时间:2016-04-28 16:14:22

标签: java java-stream

鉴于此字符串,我们需要计算单词出现次数(term frquency)

String input="this a test of tests",

这会将我们的短语分成单词

Stream<String> stream = Stream.of(input.toLowerCase().split("\\s")).parallel();

如何编辑流值,如下所示:如果流的元素以“s”字符结尾,则将其删除。

1 个答案:

答案 0 :(得分:1)

试试这个。

    String input="this a test of tests";
    Map<String, Long> map = Stream.of(input.toLowerCase().split("\\s")).parallel()
        .map(s -> s.replaceFirst("s$", ""))
        .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
    System.out.println(map);

结果:

{a=1, test=2, thi=1, of=1}