TreeMap:通过树结构来实现Map接口的。
TreeMap保证了映射按照升序顺序排列key
支持快速查找
键值对 key,value
key的值
由于TreeMap会对key进行排序,所有i我们必须保证所传的key是能够排序的。
如何把普通的类变成可排序的类?
实现Comparable接口,重写
compareTo(Object obj)方法
class Teacher implements Comparable {
private int age;
private String name;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = 10;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public int compareTo(Object arg0) {
// TODO Auto-generated method stub
if (!(arg0 instanceof Teacher)) {
return 1;
}
Teacher t1 = (Teacher) arg0;
return this.age - t1.getAge();
}
}
public class MapTest extends Teacher {
public static void main(String[] args) {
TreeMap<Integer, String> tm = new TreeMap<Integer, String>();
tm.put(0, "zero");
tm.put(1, "one");
tm.put(3, "three");
tm.put(2, "two");
// System.out.println(tm);// {0=zero, 1=one, 2=two, 3=three}
// System.out.println(tm.keySet());// [0, 1, 2, 3]
// System.out.println(tm.values());// [zero, one, two, three]
Set<Integer> keys = tm.keySet();// set本身就是一个集合
for (Integer key : keys) {
System.out.print("学号:" + key + ",姓名:" + tm.get(key) + "\t");
}
}