赞
踩
java8判断list<Map<String,Object>> 对象某个属性的值是否重复
List<Map<String,Object>> list = new ArrayList<>(); Map<String,Object> m1 = new HashMap<>(); m1.put("a","1"); m1.put("b","z"); Map<String,Object> m2 = new HashMap<>(); m2.put("a","1"); m2.put("b","y"); Map<String,Object> m3 = new HashMap<>(); m3.put("a","2"); m3.put("b","j"); list.add(m1); list.add(m2); list.add(m3); Map<Object, Long> collect2 = list.stream().collect( Collectors.groupingBy( map -> MapUtils.getMapStrdef(map,"a","") , Collectors.counting())); List<Object> collect3 = collect2.keySet().stream(). filter(key -> collect2.get(key) > 1).collect(Collectors.toList()); System.out.println("方法2-重复的姓名 : "+collect3); 方法2-重复的姓名 : [1]
List 取重复值
List list1 = Arrays.asList(“a”,“b”,“a”,“c”,“d”,“b”);
List repeatList = list1.stream().collect(Collectors.groupingBy(e -> e, Collectors.counting()))
.entrySet().stream().filter(e -> e.getValue() > 1)
.map(Map.Entry::getKey).collect(Collectors.toList());
[a, b]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。