Назад к вопросам
Junior — Middle
72
Существует ли реализованная структура данных, которая сочетает в себе свойства хеш-таблицы и упорядоченности элементов?
Компании, где спрашивали
ПСБ
Ответ от нейросети
sobes.tech AI
Да, такая структура данных существует. В Java и Android это класс LinkedHashSet — он сочетает в себе свойства хеш-таблицы и поддерживает порядок вставки элементов.
LinkedHashSet хранит элементы уникальными (как HashSet) и при этом сохраняет порядок их добавления, что позволяет итерироваться по элементам в том же порядке.
Пример использования LinkedHashSet:
LinkedHashSet<String> linkedSet = new LinkedHashSet<>();
linkedSet.add("one");
linkedSet.add("two");
linkedSet.add("three");
for (String s : linkedSet) {
System.out.println(s); // Выведет: one, two, three
}
Если нужна сортировка по естественному порядку, то можно использовать TreeSet, но он не основан на хеш-таблице.