HashMap通过hashCode对其内容进行快速查找,而TreeMap中所有的元素都保持着某种固定的顺序。
如果你需要得到一个有序的结果就应该使用TreeMap。
HashMap中的元素的排列顺序是不固定的。
在Map中插入、删除和定位元素,HashMap是最好的选择。
但如果您要求按自然顺序或自定义顺序遍历键key,那么TreeMap会更好。TreeMap在操作上需要比HashMap更多一些的开销,由于树的结构使然。
使用HashMap要求添加的键类型明确定义了hashCode()与equals()的实现。
TreeMap采用红黑树实现,总处于平衡状态。