jdk1.8中Stream方法实现输入参数List,返回Map(list的元素和其对应的次数)_喝奶茶的妹妹不撩妹-CSDN博客

一行代码就能搞定,示例如下:

public class MyTest {    public static void main(String[] args) {        List<String> list = new ArrayList<String>();        list.add("a");        list.add("a");        list.add("b");        list.add("b");        list.add("b");        list.add("c");        list.add("d");        list.add("d");        Map<String, Long> collect = list.stream()                .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));        System.out.println("map:" + collect);        Long maxRepeatNum = collect.values().stream().sorted((o1, o2) -> {            if (o1 > o2) {                return -1;            }            return 1;        }).findFirst().get();        String maxRepeatList = collect.keySet().stream().filter(entity -> {            return collect.get(entity) == maxRepeatNum;        }).findFirst().get();        System.out.println("最大重复次数的key:" + maxRepeatList + "---最大重复次数value和次数:" + maxRepeatNum); 

    效果图如下:


原网址: 访问
创建于: 2020-10-28 18:18:40
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论