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