自定义treemap排序方式
要实现Comparator接口并将其作为参数传递给TreeMap类的构造方法,重写public int compare方法。
package com.utils;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.Comparator;
import java.util.TreeMap;
public class MapEmployee {
class Employee{
int age;
String name;
Employee(String name,int age){
this.name=name;
this.age=age;
}
public String toString(){
return name+" "+age;
}
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
MapEmployee MapEmployee1=new MapEmployee();
Employee e1=MapEmployee1.new Employee("a",10);
Employee e2=MapEmployee1.new Employee("b",14);
Employee e3=MapEmployee1.new Employee("c",12);
TreeMap <Employee,Integer> treeMap=new TreeMap <Employee,Integer> (new Comparator<Employee>(){
public int compare (Employee o1,Employee o2){
return o1.age-o2.age;
}
});
treeMap.put(e1, 1000);
treeMap.put(e2, 2000);
treeMap.put(e3, 3000);
Set<Entry<Employee, Integer>> entryset = treeMap.entrySet();
System.out.println("map 中全部的键值对");
for (Entry<Employee, Integer> entry : entryset) {
System.out.println(entry.getKey() + " " + entry.getValue());
}
}
}
TreeMap和TreeSet用途相近,都用于排序,在内部算法熵,都使用了红黑树算法,是一种自平衡的二叉查找树
posted on 2016-02-08 22:39 1130136248 阅读(562) 评论(0) 收藏 举报
浙公网安备 33010602011771号