老师,你看一下我这个代码,,在TreeMap中添加进去了三个元素 ,只能打印出一个
package com.itchenzn03.collection.map;
import java.util.Map;
import java.util.TreeMap;
/**
* 测试TreeMap的使用
* 1.底层使用的是红黑树
* 2.底层将我们存进去的数据按key自动进行升序排序
*/
public class TestTreeMap01 {
public static void main(String[] args){
Map<Integer,String> treemap=new TreeMap<>();
treemap.put(10,"aa");
treemap.put(2,"bb");
treemap.put(8,"cc");
for (Integer key:treemap.keySet()){
System.out.println(key+"-----"+treemap.get(key));
}
System.out.println("对一些较为负责的对象自定义的排序规则");
System.out.println("-------------------------------------");
Map<Emp,String> tp=new TreeMap<>();
tp.put(new Emp(1001,"张三",500),"aa");
tp.put(new Emp(1002,"李四",600),"bb");
tp.put(new Emp(1003,"赵六",600),"cc");
System.out.println(tp.size());
for (Emp emp:tp.keySet()){
System.out.println(emp+"--------"+tp.get(emp));
}
//System.out.println(treemap1.keySet());
}
}
//实现Comparable接口 重写里面的ComparableTo<E>方法 定义排序规则 对一些较为负责的对象进行排序
class Emp implements Comparable{
int id;
String name;
double salary;
public Emp(int id, String name, double salary) {
this.id = id;
this.name = name;
this.salary = salary;
}
@Override
public String toString() {
return "id:"+id+",name:"+name+",salary:"+salary;
}
@Override
public int compareTo(Object o) { //负数:-1 正数:1 相等:0
if (this.salary>salary){
return 1;
}else if (this.salary<salary){
return -1;
}else{
if (this.id>id){
return 1;
}else if (this.id<id){
return -1;
}else{
return 0;
}
}
}
}
效果:
