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的顺序是自然顺序(如整数从小到大),也可以指定比较函数,但不是插入的顺序

参考

相关文章:

  • 2019-10-22
  • 2021-12-31
  • 2021-12-23
  • 2019-07-13
  • 2021-11-05
  • 2020-07-19
  • 2021-09-05
  • 2021-07-26
猜你喜欢
  • 2021-10-18
  • 2021-11-18
  • 2021-11-18
  • 2021-10-18
  • 2021-11-06
  • 2020-06-22
  • 2021-11-02
  • 2020-06-09
相关资源
相似解决方案