Встречается на 2% собеседований по Java

Почему Hashtable Deprecated

Hashtable не является полностью устаревшим (deprecated), но считается устаревшим для новых проектов. Основные причины:

  1. Синхронизация - все методы Hashtable синхронизированы, что создает накладные расходы, даже когда синхронизация не нужна. Вместо него лучше использовать HashMap + Collections.synchronizedMap() при необходимости.
  1. Наследование от Dictionary - устаревшего абстрактного класса. Современные коллекции реализуют интерфейс Map.

  2. Null-значения - Hashtable не позволяет хранить null-ключи или значения, что ограничивает его применение.

Пример замены:

java
// Устаревший подход
Hashtable<String, Integer> oldTable = new Hashtable<>();

// Современная альтернатива
Map<String, Integer> map = new HashMap<>();
Map<String, Integer> syncMap = Collections.synchronizedMap(map);

Для конкурентных сценариев лучше использовать ConcurrentHashMap.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы