Junior — Middle
Esiste una struttura dati implementata che combina le proprietà di una tabella hash e l'ordinamento degli elementi?
sobes.tech AI
Risposta dell'AI
Sì, esiste una tale struttura dati. In Java e Android, questa è la classe LinkedHashSet, che combina le proprietà di una tabella hash e mantiene l'ordine di inserimento degli elementi.
LinkedHashSet memorizza gli elementi in modo univoco (come HashSet) e mantiene l'ordine in cui sono stati aggiunti, consentendo di iterare sugli elementi nello stesso ordine.
Esempio di utilizzo di LinkedHashSet:
LinkedHashSet<String> linkedSet = new LinkedHashSet<>();
linkedSet.add("one");
linkedSet.add("two");
linkedSet.add("three");
for (String s : linkedSet) {
System.out.println(s); // Stampa: one, two, three
}
Se si necessita di ordinamento naturale, si può usare TreeSet, ma non è basato su una tabella hash.