In Java, esiste un oggetto che si comporta come una mappa per l'archiviazione e l'accesso a coppie chiave/valore, ma può restituire un elenco ordinato di chiavi e un elenco ordinato di valori, in modo tale che la chiave e gli elenchi di valori siano nello stesso ordine?Java Ordered Map
Così come spiegazione-by-codice, sto cercando qualcosa che si comporta come il mio OrderedMap fittizia:
OrderedMap<Integer, String> om = new OrderedMap<>();
om.put(0, "Zero");
om.put(7, "Seven");
String o = om.get(7); // o is "Seven"
List<Integer> keys = om.getKeys();
List<String> values = om.getValues();
for(int i = 0; i < keys.size(); i++)
{
Integer key = keys.get(i);
String value = values.get(i);
Assert(om.get(key) == value);
}
Se tutto quello che vuoi fare è iterare entrambi contemporaneamente, Map.entrySet() ti permetterà di farlo su qualsiasi mappa. La LinkedHashMap ha un ordine ben definito, ma per qualsiasi mappa il set di voci riflette le coppie chiave/valore. –
Questo codice non è un buon esempio in quanto qualsiasi implementazione della mappa si comporterà come codice di esempio. ordinato, ordinato o meno. –
Peter Lawrey: Potresti approfondire? L'interfaccia Mappa restituisce chiavi e valori rispettivamente come Set e Collection. L'ordine non è garantito in nessuno di questi, quindi non sembra ragionevole affermare che ogni implementazione di Map si comporterà come nel mio codice di esempio. – Whatsit