Java8 常用集合操作 List操作 Map操作 List操作 List Student list = new ArrayList (); // 遍历 list . forEach ( item - { System . out . println ( "\n" + item . getAge () + ":" + item . getSex ()); }); // 过滤
Java8 常用集合操作
- List操作
- Map操作
List操作
List<Student> list = new ArrayList<>();// 遍历
list.forEach(item ->{
System.out.println("\n"+item.getAge()+":"+item.getSex());
});
// 过滤
list.stream().filter(item-> item.getAge() > 18).collect(Collectors.toList());
// 排序,bean里面实现compareTo接口
list.stream().sorted((s1,s2) -> s1.getAge().compareTo(s2.getAge())).collect(Collectors.toList());
// 不实现compareTo接口,必须要用一个集合接收,不然没有效果
List<Student> resultStudent = new ArrayList<>();
resultStudent.addAll(list.stream().sorted((v1, v2) -> {
// 这里是倒序
return v1.getAge() - v2.getAge() > 0 ? -1 : 1;
}).collect(Collectors.toList()));
//将集合按照默认的规则排序,按照数字从小到大的顺序排序
Collections.sort(list);
//将集合中的元素反转
Collections.reverse(list);
//打乱集合中的元素
Collections.shuffle(list);
Map操作
Map<String, Long> allYearList = new ConcurrentHashMap<>();// 按键倒序
Map<String, Long> resultYear = allYearList.entrySet().stream().sorted(Map.Entry.<String, Long>comparingByKey().reversed()).collect(
Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue,
(oldVal, newVal) -> oldVal, LinkedHashMap::new)
);
// 按值倒序
Map<String, Long> resultYear = allYearList.entrySet().stream().sorted(Map.Entry.<String, Long>comparingByValue().reversed()).collect(
Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue,
(oldVal, newVal) -> oldVal, LinkedHashMap::new)
);