LinkedHashMap
底层和HashMap一致(详见HashMap),用哈希表实现,区别是LinkedHashMap还使用了一个双向链表实现顺序存取,这个双向链表的实现依赖于Entry这个内部类,这个Entry内部类在集合中非常常见。通过查看Entry类中的方法实现也可以看出
添加方法
在删除和增加时,都在修改前面的引用和后面的引用。
在HashMap中只是利用了哈希表,而LinkedHashMap中还用到了链表记录顺序,在LinkedHashMap中并没有put方法,而是利用了HashMap中的put方法,但是重写了put方法中调用的的addEntry()方法
添加
创建
通过上面方法的分析,可以看出在添加节点的时候(由于是双向链表)都会在尾部进行添加。