一:引言
当用到了TreeMap时候,是因为要根据键值进行排序,使输出的结果是按递增顺序的
二:上码
package cn.wyj.two;
import java.util.Map;
import java.util.TreeMap;
/**
* 一般当 键值需要排序时,我们会选择用 TreeMap
*
*
*/
public class Demo6_TreeMap {
public static void main(String[] args) {
Map<Integer,String> m1 = new TreeMap<Integer,String>();
m1.put(20, "aa");
m1.put(2, "bb");
m1.put(5, "cc");
System.out.println(m1.toString());
Map<Emp,String> m2 = new TreeMap<Emp,String>();
m2.put(new Emp(100,"王大爷",10000), "勤劳");
m2.put(new Emp(102,"王二爷",5000), "善良");
m2.put(new Emp(99,"王三爷",20000), "勇敢");
m2.put(new Emp(39,"王4爷",20000), "不要命");
System.out.println(m2);
}
}
class Emp implements Comparable<Emp>{
private int id;
private String name;
private int slary;
public Emp(int id, String name, int slary) {
super();
this.id = id;
this.name = name;
this.slary = slary;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "Id:"+ this.id+" Name:" + this.name + " Salry:" +this.slary;
}
@Override
public int compareTo(Emp o) {//负数:小于; 0 : 等于 ; 正数:大于
// TODO Auto-generated method stub
if(this.slary > o.slary){
return 1;
}
else if(this.slary < o.slary){
return -1;
}
else{
if(this.id > o.id){
return 1;
}
else if( this.id < o.id){
return -1;
}
}
return 0;
}
}
如有疑问欢迎留言!