TreeMap指定排序示例

package map;

import java.util.Comparator;
import java.util.Map;
import java.util.TreeMap;

/**
* @auto dh
* @create 2020-04-30-21:05
*/
class User {
private String name;
private int age;

@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public User(String name, int age) {
this.name = name;
this.age = age;
}
}

public class TreeMap002 {
public static void main(String[] args) {
//treeMap的指定排序
Map<User,Integer> treeMap=new TreeMap<>(new Comparator<User>() {
@Override
public int compare(User o1, User o2) {
return o1.getName().compareTo(o2.getName())==0?Integer.compare(o1.getAge(),o2.getAge()):o1.getName().compareTo(o2.getName());
}
});
treeMap.put(new User("zhangsan",20),1);
treeMap.put(new User("zhangsan",12),2);
treeMap.put(new User("lisi",20),3);
System.out.println(treeMap);

}
}
posted @ 2020-04-30 21:16  玄空2  阅读(546)  评论(0编辑  收藏  举报