Ответ
HashSet и TreeSet – оба реализуют интерфейс Set, но работают по-разному:
-
HashSet:
- Хранит элементы в хеш-таблице (основан на
HashMap). - Порядок элементов не гарантируется.
- Вставка, удаление и поиск –
O(1)в среднем случае. - Использует
hashCode()иequals()для сравнения.
- Хранит элементы в хеш-таблице (основан на
-
TreeSet:
- Хранит элементы в красно-черном дереве (основан на
TreeMap). - Элементы сортируются (
Comparable/Comparator). - Вставка, удаление и поиск –
O(log n).
- Хранит элементы в красно-черном дереве (основан на
Пример:
val hashSet = hashSetOf(3, 1, 2) // [1, 2, 3] или другой порядок
val treeSet = sortedSetOf(3, 1, 2) // [1, 2, 3] – всегда отсортировано
Выбор зависит от необходимости сортировки и производительности.
Видео-ответы
▶
Собеседование на Java-разработчика | Разбор вопросов для подготовки: Spring, Hibernate, Kotlin
▶
обеседование в Oracle на Middle Java
▶
Тестовое интервью в Oracle на middle Java
▶
Техническое интервью Java Developer - Артем Никулин
▶
Техническое интервью Java Developer - Дмитрий Квасников
▶
Техническое интервью Java Developer - Сергей Гонтаренко