## 集合排序 原

h
hello-k

1. Classic Comparator example

``````//
Comparator<Type> byName = new Comparator<Type>() {
@Override
public int compare(Type o1, Type o2) {
return o1.getName().compareTo(o2.getName());
}
};
// Lambda
Comparator<Type> byName =(Type o1, Type o2)->o1.getName().compareTo(o2.getName());
``````

2. 用 Collections.sort

``````List<Type> collection = new ArrayList<>();
Collections.sort(collection , new Comparator<Type>() {
@Override
public int compare(Type o1, Type o2) {
return o1.getSome() - o2.getSome();
}
});

// List.sort() since Java 8
collection .sort(new Comparator<Developer>() {
@Override
public int compare(Type o1, Type o2) {
return o2.getSome() - o1.getSome();
}
});

//lambda here!
collection.sort((Type o1, Type o2)->o1.getSome()-o2.getSome());

//java 8 only, lambda also, to print the List
collection.forEach((o)->System.out.println(o));

//Lambda expression to sort a List using their salary.
Comparator<Type> salaryComparator = (o1, o2)->o1.getSalary().compareTo(o2.getSalary());
listDevs.sort(salaryComparator);

//倒序
//Lambda expression to sort a List using their salary, reversed order.
Comparator<Developer> salaryComparator = (o1, o2)->o1.getSalary().compareTo(o2.getSalary());
listDevs.sort(salaryComparator.reversed());``````

3.Map排序

3.1将Map转成TreeMap，使用默认排序

``Map<String, String> treeMap = new TreeMap<String, String>(unsortMap);``

3.1.1 自定义排序

``````Map<Integer, String> treeMap = new TreeMap<Integer, String>(
new Comparator<Integer>() {

@Override
public int compare(Integer o1, Integer o2) {
return o2.compareTo(o1);
}

});
/* For Java 8, try this lambda
Map<Integer, String> treeMap = new TreeMap<>(
(Comparator<Integer>) (o1, o2) -> o2.compareTo(o1)
);
*/

treeMap.putAll(unsortMap);``````

h

### hello-k

#### 暂无文章

OSChina 周五乱弹 ——不知道假装开心，装的像么

Osc乱弹歌单（2019）请戳（这里） 【今日歌曲】 @巴拉迪维 ：天黑了 你很忧愁， 你说世界上， 找不到四块五的妞， 行走在凌晨两点的马路上， 你疲倦地拿着半盒黄鹤楼。#今日歌曲推荐# 《四块...

2.2K
16

19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做 19.1 Linux监控平台介绍： 常见开源监控软件 ~1.cacti、nagios、zabbix、smokeping、ope...

oschina130111

69
0

32
0
DNS-over-HTTPS 的下一代是 DNS ON BLOCKCHAIN

119
0
CC攻击带来的危害我们该如何防御？

32
0