HashMap通过hashcode对其内容进行快速查找,而TreeMap中的所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中的元素的排列顺序是不固定的)。
集合框架提供两种常规的Map实现:HashMap和TreeMap(TreeMap实现SortedMap接口)。在Map中插入、删除和定位元素,HashMap是最好的选择。但如果您要按自然顺序或自定义顺序遍历键,那么TreeMap会更好。使用HashMap要求添加的键类明确定义了hashCode()和equals()的实现。这个TreeMap没有调优选项,因为该树总处于平衡状态。
hashcode是给一系列hash算法用的,比如hashtable。不同对象应该有不同的hashcode,同一个对象应该有同样的hashcode。
hash算法基本就是为了将一个对象和一个整数对应起来,不同的对象对应不同的整数。