Можно ли добавить null в TreeSet в Java?

«Можно ли добавить null в TreeSet в Java?» — вопрос из категории Java Core, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Нет, нельзя. При попытке добавления null в TreeSet будет выброшено NullPointerException.

Причина: TreeSet — это отсортированная коллекция, которая для упорядочивания элементов использует либо естественный порядок (через Comparable), либо внешний Comparator. Сравнение null с любым другим объектом невозможно, что и приводит к исключению.

Пример:

TreeSet<String> treeSet = new TreeSet<>();
treeSet.add(null); // Выбросит NullPointerException

Альтернатива: Если необходимо хранить null-значения, используйте HashSet, который допускает наличие одного null-элемента.