Junior — Middle
Există o structură de date implementată care combină proprietățile unui tabel hash și ale ordonării elementelor?
sobes.tech AI
Răspuns de la AI
Da, o astfel de structură de date există. În Java și Android, aceasta este clasa LinkedHashSet, care combină proprietățile unui tabel hash și păstrează ordinea de inserare a elementelor.
LinkedHashSet stochează elementele în mod unic (ca HashSet) și păstrează ordinea în care au fost adăugate, permițând iterarea peste elemente în aceeași ordine.
Exemplu de utilizare a LinkedHashSet:
LinkedHashSet<String> linkedSet = new LinkedHashSet<>();
linkedSet.add("one");
linkedSet.add("two");
linkedSet.add("three");
for (String s : linkedSet) {
System.out.println(s); // Va afișa: one, two, three
}
Dacă este nevoie de sortare după ordinea naturală, se poate folosi TreeSet, dar acesta nu se bazează pe o tabelă hash.