Aru*_*wda 4 java collections linkedhashmap data-structures java-8
最近,我一直在进行Map接口的实现java.我理解HashMap,一切都有道理.但是,当涉及到LinkedHashMap,按我所知,到目前为止,该项目有key,value,before和after.之前和之后跟踪插入顺序.
然而,使用hashcode和桶概念对我来说没有意义LinkedHashMaps.
有人可以解释一下吗?
LinkedHashMap仍然是一种类型HashMap.它采用相同的逻辑HashMap,以便找到其中键所属的水桶(在方法如使用get(),put(),containsKey()等...).将hashCode()被用于定位桶.这种逻辑对于O(1)这些操作的预期性能至关重要.
的附加功能LinkedHashMap(它使用before与after参考文献)仅用于根据插入顺序进行迭代的条目,所以它影响的迭代器Collection通过传回的keySet(),entrySet()与values()方法.它不会影响条目的存储位置.
如果没有哈希码和存储桶,LinkedHashMap将无法Map在O(1)预期的时间内查找密钥.