package _03;
import java.util.Map;
import java.util.TreeMap;
public class _3_15TreeMap {
public static void main(String[] args) {
// 一般也不用TreeMap,排序的时候多用TreeMap
// TreeMap底层采用了红黑二叉树
// Map<Integer,String> treemap = new TreeMap<>();
// treemap.put(1,"aa");
// treemap.put(2,"bb");
// treemap.put(3,"cc");
// map的一种遍历方式
// for( Integer key : treemap.keySet()){
// System.out.println(key+","+treemap.get(key));
// }
//TreeMap按照 key自增的顺序进行排序
Map<Emp,String> treemap = new TreeMap<>();
treemap.put(new Emp(1001,"wei",5000),"w");
treemap.put(new Emp(1100,"li",4000),"l");
treemap.put(new Emp(1200,"guan",6000),"g");
for (Emp key:treemap.keySet()
) {
System.out.println(key.name+key.Salary+key.id);
}
// HashMap和HashTable的区别
// HashMap:线程不安全,效率高 允许key和value值为空
// HashTable:线程安全,效率低, 不允许key和value值为空
}
}
class Emp implements Comparable<Emp>{
int id;
String name;
double Salary;
public Emp(int id, String name, double salary) {
this.id = id;
this.name = name;
Salary = salary;
}
@Override
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;
}
}
}
}
TreeMap的原理和使用
最新推荐文章于 2024-05-15 00:16:34 发布