答:
TreeMap<K,V>的Key值是要求实现java.lang.Comparable,所以迭代的时候TreeMap默认是按照Key值升序排序的;
TreeMap的实现是基于红黑树结构。适用于按自然顺序或自定义顺序遍历键(key)。
HashMap<K,V>的Key值实现散列hashCode(),分布是散列的、均匀的,不支持排序;
数据结构主要是桶(数组),链表或红黑树。适用于在Map中插入、删除和定位元素。
如果你需要得到一个有序的结果时,就应该使用TreeMap(因为HashMap中元素的排列顺序是不固定的)。
大多不需要排序的时候我们会使用HashMap,因为HashMap有更好的性能。
参考博文:https://www.cnblogs.com/javazhiyin/p/11652526.html
022 如何决定使用 HashMap 还是 TreeMap?
原文:https://www.cnblogs.com/ynzj123/p/12683608.html