我们知道,在Map接口中,HashMap类存储元素是按照元素的key的hashcode存放的,HashMap里面存入的键值对在取出的时候是随机的,它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度。在Map 中插入、删除和定位元素,HashMap 是最好的选择。但是如果想要使元素按照自定义的顺序排序,就要用到TreeMap了。
TreeMap不是按照hashcode存放的,而是按照实现的comparable接口的compareTo这个方法来存储的,只要compareTo的返回结果为0就表示两个对象相等,那么就存不进去两个对象,后put的会把前面的覆盖掉。
1、通过实现comparable接口排序
先创建TestPerson类
import java.util.Objects;
public class TestPerson implements Comparable{
private String name;
private Integer age;
TestPerson(String name,int age){
this.name = name;
this.age = age;
}
public String getName(){
return this.name;
}
public int getAge(){
return this.age;
}