Junior — Middle
Czy istnieje zaimplementowana struktura danych, która łączy właściwości tablicy haszującej i uporządkowania elementów?
sobes.tech AI
Odpowiedź od AI
Tak, istnieje taka struktura danych. W Java i Android jest to klasa LinkedHashSet, która łączy właściwości tablicy haszującej i zachowuje kolejność dodawania elementów.
LinkedHashSet przechowuje elementy unikalne (jak HashSet) i jednocześnie zachowuje kolejność ich dodania, co pozwala na iterację po elementach w tej samej kolejności.
Przykład użycia LinkedHashSet:
LinkedHashSet<String> linkedSet = new LinkedHashSet<>();
linkedSet.add("one");
linkedSet.add("two");
linkedSet.add("three");
for (String s : linkedSet) {
System.out.println(s); // Wypisze: one, two, three
}
Jeśli potrzebne jest sortowanie według naturalnego porządku, można użyć TreeSet, ale nie opiera się on na tablicy haszującej.