LinkedHashMap中“next”和“after”条目之间的区别是什么?

时间:2018-02-08 11:04:04

标签: java hashmap linkedhashmap

next类中的字段afterLinkedHashMap$Entry之间有什么区别?它并不总是产生相同的结果,有时它们保持相同的对象,有时不会。我不明白为什么。

1 个答案:

答案 0 :(得分:3)

next属于HashMap.Node基类。它包含对HashMap的当前bin中的下一个条目的引用。

afterLinkedHashMap.Entry的属性,它根据迭代顺序(默认情况下是插入顺序)保存对下一个条目的引用。

两者没有理由保持相同的引用(除非插入顺序与条目存储在bin中的顺序相对应,即使这样,每个bin中的最后一个条目也总是{{1虽然它可以有一个非空next == null)。