为什么Java的语言设计师在大多数基于哈希的结构中更喜欢链接而不是开放寻址,除了像ThreadLocal这样的结构?[已关闭]
2022-09-01 16:11:44
我知道开放寻址和用于解决哈希冲突的链接之间的区别。大多数基于哈希的基本数据结构,如 Java 中的 ,主要使用链接技术。我读到ThreadLocal实际上使用了探测方案。所以我想了解为什么开放寻址在Java中不那么常用?我的意思是,使用该方案删除记录会很困难,从某种意义上说,您必须使用一些特殊处理来标记这些单元格 。然而,对于开放寻址方案,内存要求似乎很低。HashSet
HashMap
编辑:我只想了解这个设计决策的可能主要原因。.我不想要更精细的细节。另外,我想知道为什么ThreadLocal使用不太常见的开放寻址技术。我想这两个答案可以联系在一起。所以我更喜欢问同样的问题本身。