大家将首先讨论HashMap,它是一个基于哈希表的实现。它扩展了AbstractMap类并实现了Map接口。一个HashMap的工作原理上的原则散列。这个Map实现通常作为一个分段的哈希表,但是当桶变得太大时,它们会被转换为TreeNodes的节点,每个节点的结构与java.util.TreeMap中的结构类似。
原理
1.TreeMap扩展了AbstractMap类并实现了NavigableMap接口。一个TreeMap中存储有地图的元素红黑树,这是一个自偶平衡的二叉搜索树。
2.HashMap不保证元素在Map中的排列方式。
3.TreeMap中的项目会根据其自然顺序进行排序。
4.HashMap是一个基于哈希表的实现。在哈希表中搜索元素的平均时间是O(1)。
5.一个TreeMap的在同一个自定义的帮助的元素进行排序的能力层次树存储其数据比较。
6.TreeMap为大多数操作提供了O(log(n))
一般实际工作中大家为了性能考虑会优先使用hashmap
本人大厂程序员,专注互联网技术。大家有问题可以加好友咨询偶哈。