LinkedHashMap可以做到按照用户放入集合的顺序取出集合中的元素,但是⚠️HashMap不能做到。
LinkedHashMap介绍:
LinkedHashMap继承于HashMap,其底层实现和HashMap一致,都用哈希表实现,区别是LinkedHashMap还使用了一个双向链表实现顺序存取,所以LinkedHashMap是有序的,这个双向链表的实现依赖于Entry这个内部类,这个Entry内部类在集合中非常常见。LinkedHashMap允许存储null值,基本的和HashMap一致,通过键找到值,键不可以重复,值可以重复。
在删除和增加时,都在修改前面的引用和后面的引用。

在HashMap中只是利用了哈希表,而LinkedHashMap中还用到了链表记录顺序,在LinkedHashMap中并没有put方法,而是利用了HashMap中的put方法,但是重写了put方法中调用的的addEntry()方法.


通过上面方法的分析,可以看出在添加节点的时候(由于是双向链表)都会在尾部进行添加。
TreeMap的顺序是自然顺序(如整数从小到大),也可以指定比较函数,但不是插入的顺序。
本文详细介绍了LinkedHashMap的工作原理及其与HashMap的区别。LinkedHashMap继承自HashMap,它不仅具备HashMap的所有特性,还能保持元素的插入顺序,这得益于它内部维护的一个双向链表。文章还对比了TreeMap的不同之处。
1536

被折叠的 条评论
为什么被折叠?



