LinkedHashMap的底层原理

来源:4-2 Map实现类—HashMap与LinkedHashMap的区别

何艾莉

2022-09-17 20:10:03

老师好,今天去面试问了LinkedHashMap的底层原理,请详细向我介绍我一下,谢谢老师。

写回答

1回答

好帮手慕小小

2022-09-18

同学你好,LinkedHashMap 是 HashMap 的子类,LinkedHashMap底层使用的结构与HashMap相同。LinkedHashMap 在 HashMap 存储结构的基础上,使用了一对双向链表来记录添加元素的顺序,底层是通过LinkedHashMap.Entry类进行存储的。

LinkedHashMap.Entry 类在 HashMap.Node 类的基础上添加了一对引用:LinkedHashMap.Entry<K,V>类型的before和after引用,一个指向前一个添加的元素,一个指向后一个添加的元素。

https://img.mukewang.com/climg/632683f6096f6fd204890077.jpg

HashMap.Node类:

https://img.mukewang.com/climg/632684f1097b03fd05510373.jpg

LinkedHashMap.Entry类:

https://img.mukewang.com/climg/6326849d0957e79305930284.jpg

另LinkedHashSet底层是采用LinkedHashMap实现的,同学可复习回顾下关于LinkedHashSet存储原理讲解视频课程https://class.imooc.com/lesson/2396#mid=58651&time=540 

https://img.mukewang.com/climg/6326a62d0992812208910466.jpg

祝学习愉快~

0

0 学习 · 9886 问题

查看课程