Почему разработчики языка Java предпочли цепочку, а не открытую адресацию для большинства основанных на хэше структур, за исключением некоторых, таких как ThreadLocal? [закрыто]

Я знаю разницу между открытой адресацией и цепочкой для разрешения коллизий хешей. Большинство базовых структур данных на основе хеша, таких какHashSet,HashMap в Java в основном используется техника сцепления. Я читал, что ThreadLocal на самом деле использует схему зондирования. Итак, я хочу понять, почему открытая адресация не так часто используется в Java? Я имею в виду, что было бы трудно удалить записи, используя эту схему, в том смысле, что вы должны пометить эти ячейки с некоторой специальной обработкой. Однако кажется, что для открытой схемы адресации требования к памяти будут низкими.

Edit Я просто хочу понять возможную основную причину / причины этого дизайнерского решения. Я не хочу более мелких деталей. Также мне хотелось бы знать, почему ThreadLocal использует менее распространенную технику открытой адресации. Я думаю, что два ответа могут быть связаны друг с другом. Поэтому я предпочитаю задавать в том же самом вопросе.

Ответы на вопрос(1)

Ваш ответ на вопрос