Sono relativamente nuovo a Java e ho una domanda su quale tipo di struttura dati sarebbe la migliore per il mio caso. Ho un set di dati che sono essenzialmente coppie chiave-valore, tuttavia ogni valore può corrispondere a più chiavi e ogni chiave può corrispondere a più valori. Un esempio semplificato potrebbe essere:Quale struttura dati Java è la migliore per la mappatura a più valori a due vie
- Red-mela
- di mela verde
- rosso-fragola
- Green-Uva
- viola-uva
Considerando l'esempio di cui sopra, Devo essere in grado di restituire il colore delle mele che ho e/o quali frutti rossi ho. I dati effettivi verranno generati dinamicamente in base a un file di input in cui ogni set sarà ovunque tra 100 e 100.000 valori e ogni valore potrebbe corrispondere a centinaia di valori nell'altro set.
Quale sarebbe il modo più efficiente di archiviare e analizzare questi dati? Preferirei una soluzione come nativa di java possibile piuttosto che qualcosa come un database esterno.
This question è correlato, ma non sono sicuro di come applicare la soluzione nel mio caso dato che avrei bisogno di assegnare più valori a ciascun tasto in entrambe le direzioni.
Come su una mappa? http://docs.oracle.com/javase/7/docs/api/java/util/Map.html – Koogle
C'è anche questa domanda: http://stackoverflow.com/questions/2571652/java-many-to- many-association-map – Josh
@Josh - Grazie, non ho trovato quella domanda nella mia ricerca. Guarderò attraverso le soluzioni per vedere se riesco a implementarle con successo per i miei dati. – user4588937