当前位置 : 主页 > 编程语言 > java >

Java8 常用集合操作

来源:互联网 收集:自由互联 发布时间:2022-06-22
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)
);


上一篇:Tomcat控制台启动出现乱码
下一篇:没有了
网友评论