按照插入顺序排序的LinkedHashMap

LinkedHashMap可以做到按照用户放入集合的顺序取出集合中的元素,但是⚠️HashMap不能做到

LinkedHashMap介绍:

LinkedHashMap继承于HashMap,其底层实现和HashMap一致,都用哈希表实现,区别是LinkedHashMap还使用了一个双向链表实现顺序存取所以LinkedHashMap是有序的,这个双向链表的实现依赖于Entry这个内部类,这个Entry内部类在集合中非常常见。LinkedHashMap允许存储null值,基本的和HashMap一致,通过键找到值,键不可以重复,值可以重复。

在删除和增加时,都在修改前面的引用和后面的引用。
按照插入顺序排序的LinkedHashMap
在HashMap中只是利用了哈希表,而LinkedHashMap中还用到了链表记录顺序,在LinkedHashMap中并没有put方法,而是利用了HashMap中的put方法,但是重写了put方法中调用的的addEntry()方法.
按照插入顺序排序的LinkedHashMap
按照插入顺序排序的LinkedHashMap
通过上面方法的分析,可以看出在添加节点的时候(由于是双向链表)都会在尾部进行添加

TreeMap的顺序是自然顺序(如整数从小到大),也可以指定比较函数,但不是插入的顺序

参考