Junior — Middle
Da li postoji implementirana struktura podataka koja kombinuje osobine heš tabele i redosled elemenata?
sobes.tech АИ
Одговор од АИ
Da, takva struktura podataka postoji. U Javi i Androidu, to je klasa LinkedHashSet, koja kombinuje osobine hash tabele i održava redosled umetanja elemenata.
LinkedHashSet čuva elemente kao jedinstvene (kao HashSet) i pritom čuva redosled njihovog dodavanja, što omogućava iteraciju kroz elemente u istom redosledu.
Primer korišćenja LinkedHashSet:
LinkedHashSet<String> linkedSet = new LinkedHashSet<>();
linkedSet.add("one");
linkedSet.add("two");
linkedSet.add("three");
for (String s : linkedSet) {
System.out.println(s); // Ispisaće: one, two, three
}
Ako je potrebna sortiranje po prirodnom redosledu, može se koristiti TreeSet, ali on nije zasnovan na hash tabeli.