Mi piacerebbe avere un oggetto che implementa le interfacce Map e List in Java. L'idea è simile al problema in questa domanda: Java Ordered MapImplementare entrambe le interfacce Mappa ed Elenco in Java?
voglio aggiungere coppie nome/valore a un elenco e avere la lista preservare la sequenza, ma anche essere in grado di fare ricerche per nome:
foo.put("name0", "value0");
foo.put("name1", "value1");
foo.get(1); --> Map.Entry("name1", "value1")
foo.get("name0"); --> "value0"
Ecco il problema: quando creo questa classe:
class Foo implements Map, List {
// add all methods here
}
ottengo un errore di compilazione:
"The return type is incompatible with Map.remove(Object)"
public boolean remove(Object o) {
return false;
}
Se non si implementano le interfacce Mappa ed Elenco, esistono molti metodi di raccolta Java che non sono disponibili per l'utilizzo in questa struttura di dati.
(Inoltre, la ragione per cui la soluzione proposta in Java ordinato mappa qui sopra non funziona è che LinkedHashMap non dispone di un metodo get (int). Non è possibile selezionare le voci in base all'indice.)
Sei contrario all'estensione di 'LinkedHashMap', in caso contrario, perché non provare ad aggiungere il metodo' get (int) 'ad esso? –
http://www.java.net/forum/topic/jdk/java-se/implementing-both-map-and-list-impossible-0 – Adam
@Adam quel collegamento è rotto, ma suppongo che sappiamo un po 'cosa Dice, solo dall'URL;) – MatrixFrog