ハッシュの衝突を解決するための Open Addressing と Chaining の違いを知っています。のような基本的なハッシュベースのデータ構造のほとんどは、HashSet
JavaHashMap
では主にチェーン技術を使用します。ThreadLocal が実際にプローブ スキームを使用していることを読みました。では、Java でオープン アドレッシングがあまり使用されない理由を理解したいと思います。特別な処理でそれらのセルをマークしなければならないという意味で、そのスキームを使用してレコードを削除するのは難しいということです。ただし、オープン アドレッシング方式ではメモリ要件が低くなるようです。
編集:この設計上の決定の主な理由/理由を理解したいだけです。細かいことはいらない。また、なぜ ThreadLocal があまり一般的でないオープン アドレス指定の手法を使用するのかを知りたいです。この 2 つの回答は関連していると思います。そのため、同じ質問自体で質問することを好みます。