• java8 stream初试,map排序,list去重,统计重复元素个数,获取map的key集合和value集合


    //定义一个100元素的集合,包含A-Z
    List<String> list = new LinkedList<>();
    for (int i =0;i<100;i++){
        list.add(String.valueOf((char)('A'+Math.random()*('Z'-'A'+1))));
    }
    System.out.println(list);
    //统计集合重复元素出现次数,并且去重返回hashmap
    Map<String, Long> map = list.stream().
        collect(Collectors.groupingBy(Function.identity(),Collectors.counting()));
    System.out.println(map);
    //由于hashmap无序,所以在排序放入LinkedHashMap里(key升序)
    Map<String, Long> sortMap = new LinkedHashMap<>();
    map.entrySet().stream().sorted(Map.Entry.comparingByKey()).
        forEachOrdered(e -> sortMap.put(e.getKey(), e.getValue()));
    System.out.println(sortMap);
    //获取排序后map的key集合
    List<String> keys = new LinkedList<>();
    sortMap.entrySet().stream().forEachOrdered(e -> keys.add(e.getKey()));
    System.out.println(keys);
    //获取排序后map的value集合
    List<Long> values = new LinkedList<>();
    sortMap.entrySet().stream().forEachOrdered(e -> values.add(e.getValue()));
    System.out.println(values);
  • 相关阅读:
    Canvas中的save方法和restore方法
    python之函数默认参数的坑
    python之函数名的应用
    python之golbal/nonlocal
    python之*的魔性用法
    python之函数的传参形参的第三种动态参数*args和**kwargs
    python之道09
    python之函数的初识
    python之道08
    python之99乘法表
  • 原文地址:https://www.cnblogs.com/tanhao/p/9363561.html
Copyright © 2020-2023  润新知