Sobes.tech
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.