TM.*_*TM. 238
TreeMap
是a的一个示例SortedMap
,这意味着可以对键的顺序进行排序,并且当遍历键时,您可以预期它们将按顺序排列.
HashMap
另一方面,没有这样的保证.因此,当迭代a的键时HashMap
,您无法确定它们的顺序.
HashMap
一般来说会更有效率,所以每当你不关心键的顺序时就使用它.
小智 33
总结一下:
use*_*386 13
我将在Java中讨论HashMap和TreeMap实现:
HashMap - 实现基本的地图界面
Map m = Collections.synchronizedMap(new HashMap(...));
TreeMap - 实现可导航的地图界面
SortedMap m = Collections.synchronizedSortedMap(new TreeMap(...));
总而言之,HashMap和TreeMap之间最大的区别在于TreeMap的实现NavigableMap<K,V>
,它提供了有序迭代的特性.此外,HashMap和TreeMap都是Java Collection框架的成员.您可以调查Java的源代码以了解有关其实现的更多信息.
除了排序的密钥库之外,另一个区别在于TreeMap,开发人员可以使用String键给(String.CASE_INSENSITIVE_ORDER),因此比较器在执行映射访问时的键比较时忽略键的大小写.这不可能通过HashMap提供这样的选项 - 它总是在HashMap中进行区分大小写的比较.
归档时间: |
|
查看次数: |
206535 次 |
最近记录: |