按照插入顺序排序的LinkedHashMap
LinkedHashMap可以做到按照用户放入集合的顺序取出集合中的元素
,但是⚠️HashMap不能做到
。
LinkedHashMap介绍:
LinkedHashMap继承于HashMap,其底层实现和HashMap一致,都用哈希表实现,区别是LinkedHashMap还使用了一个双向链表
实现顺序存取
,所以LinkedHashMap是有序的
,这个双向链表的实现依赖于Entry这个内部类,这个Entry内部类在集合中非常常见。LinkedHashMap允许存储null值,基本的和HashMap一致,通过键找到值,键不可以重复,值可以重复。
在删除和增加时,都在修改前面的引用和后面的引用。
在HashMap中只是利用了哈希表,而LinkedHashMap中还用到了链表记录顺序,在LinkedHashMap中并没有put方法,而是利用了HashMap中的put方法,但是重写了put方法中调用的的addEntry()方法.
通过上面方法的分析,可以看出在添加节点的时候(由于是双向链表)都会在尾部进行添加
。
TreeMap的顺序是自然顺序(如整数从小到大
),也可以指定比较函数
,但不是插入的顺序
。