有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

要映射的java流收集列表

我有以下代码:

    List<String> list = Arrays.asList("a", "b", "c", "a", "c");
    Map<String, List<String>> map = list.stream().collect(Collectors.groupingBy(
    Function.identity() ,
    Collectors.toCollection(ArrayList::new)
    ));

它产生的是

  {a=[a, a], b=[b], c=[c, c]}

Pretty请问我应该如何编写映射方法来获得一个映射,该映射将为我提供:

{a=2, b=1, c=2}

共 (1) 个答案

  1. # 1 楼答案

    使用Collectors.counting

    list.stream().collect(Collectors.groupingBy(
                Function.identity(), Collectors.counting()));
    

    以上内容将给您一个Map<String, Long>