//HashMap效率高于TreeMap,但是两者用法对于调用者来说
//没有区别 只有在需要排序的Map中才使用TreeMap
package collection;
import java.util.Map;
import java.util.TreeMap;
/**
- 测试TreeMap的使用
- @author
*/
public class TestTreeMap {
public static void main(String[] args) {
Map<Integer,String> m = new TreeMap<>();
m.put(20, “aa”);
m.put(10, “bb”);
m.put(40, “cc”);
for(Integer a:m.keySet()){
System.out.println(a+"--"+m.get(a));
}
Map<Emp, String> m2 = new TreeMap<>();
m2.put(new Emp(100, "aa", 1000),"a1");
m2.put(new Emp(500, "bb", 2000),"b1");
m2.put(new Emp(300, "cc", 3000),"c1");
m2.put(new Emp(150, "dd", 3000),"c1");
for(Emp a:m2.keySet()){
System.out.println(a+"--"+m2.get(a));
}
}
}
class Emp implements Comparable{
int id;
String name;
double salary;
public Emp(int id, String name, double salary) {
super();
this.id = id;
this.name = name;
this.salary = salary;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "id:"+id+" name:"+name+" salary:"+salary;
}
@Override //对自定义类型进行比较时使用compareTo
public int compareTo(Emp o) {//负数:小于 0:等于 正数:大于
if(this.salary > o.salary){
return 1;
}else if(this.salary < o.salary){
return -1;
}else{
if(this.id > o.id){
return 1;
}else if(this.id < o.id){
return -1;
}else{
return 0;
}
}
}
}