LinkedHashMap
LinkedHashMap 的有序,指的是元素遍历的顺序和插入顺序一致。
.
LinkedHashMap 是 HashMap 的直接子类,在 HashMap 的基础上,增加双向链表将所有 entry 连接起来,保证元素的遍历顺序与插入顺序相同。
TreeMap
TreeMap 底层采用红黑树结构,存放的元素根据 key 的大小排序。不能保证遍历顺序和存放顺序的一致性。
.
key 大小的评判通过其本身的自然顺序,或者通过构造时传入的比较器。
HashMap
相比于 LinkedHashMap 和 TreeMap,HashMap 是 Key-Value 数据结构的首选类型,性能最高,能满足绝大部分的场景。
.
虽然 HashMap 是无序的,但是每次遍历 HashMap 输出的顺序是不变的。