next
类中的字段after
和LinkedHashMap$Entry
之间有什么区别?它并不总是产生相同的结果,有时它们保持相同的对象,有时不会。我不明白为什么。
答案 0 :(得分:3)
next
属于HashMap.Node
基类。它包含对HashMap
的当前bin中的下一个条目的引用。
after
是LinkedHashMap.Entry
的属性,它根据迭代顺序(默认情况下是插入顺序)保存对下一个条目的引用。
两者没有理由保持相同的引用(除非插入顺序与条目存储在bin中的顺序相对应,即使这样,每个bin中的最后一个条目也总是{{1虽然它可以有一个非空next == null
)。