集合数据日常操作汇总
入参类型
Map<String, String> userNameToDisplayNameMap,List<Map<String, Object>> resultList, List<Map<String, Object>> mapList
使用stream去掉空数据
mapList = mapList.stream() .filter(sprintData -> sprintData.get("disPlayName") != null) .collect(Collectors.toList());
List<Map<String, Object>> taskList
List<String> elementsToRemove = new ArrayList<>(); elementsToRemove.add("a"); elementsToRemove.add("b"); elementsToRemove.add("c"); //将a,b,c三个元素从集合中剔除 taskList = taskList.stream().filter(a -> !elementsToRemove.contains(a.get("w").toString())).collect(Collectors.toList());
去除重复数据
taskList = taskList.stream().distinct().collect(Collectors.toList());
排序
taskList = taskList.stream().sorted(Comparator.comparing(s -> s.get("q").toString().equals("兔子"))).collect(Collectors.toList());
将一个集合中的某个元素取出来组成新的集合
ArrayList<Student> list = new ArrayList<>(); Student one = new Student("一", 1); Student two = new Student("二", 2); Student three = new Student("三", 3); list.add(one); list.add(two); list.add(three); List<String> nameList = list.stream().map(Student::getName).collect(Collectors.toList());
时间判断
Date date = new Date(); try { Date completedDate = sdf.parse(completedTime); if (date.after(completedDate)) { exceptionResult.append("没有按照时间完成,"); } } catch (ParseException e) { logger.error("时间转化异常:{}", e); }