Junior — Middle
Kas on olemas rakendatud andmestruktuur, mis ühendab hash-tabeli ja elementide järjekorra omadused?
sobes.tech AI
Vastus AI-lt
Jah, selline andmestruktuur eksisteerib. Java ja Android puhul on see LinkedHashSet klass, mis ühendab hash-tabeli omadused ja säilitab elementide sisestamise järjekorra.
LinkedHashSet hoiab elemente unikaalsena (nagu HashSet) ning säilitab nende lisamise järjekorra, mis võimaldab iteratsiooni samas järjekorras.
Näide LinkedHashSet kasutamisest:
LinkedHashSet<String> linkedSet = new LinkedHashSet<>();
linkedSet.add("one");
linkedSet.add("two");
linkedSet.add("three");
for (String s : linkedSet) {
System.out.println(s); // Väljund: one, two, three
}
Kui on vaja sorteerimist loomulikus järjekorras, saab kasutada TreeSet, kuid see ei põhine hash-tabelil.