io intendo
Map<String, Map<Integer, Integer>>
allora la stringa la decidi tu e non c'è problema di univocità (basta che ogni stringa sia diversa dalle altre)
per quanto riguarda la seconda mappa,
Map<Integer, Integer>
hai coppia chiave valore, qui la chiave è la posizione, sicuramente univoca (e puoi ordinare per chiave), il valore è quello che tu devi inserire, non so se sono stata chiara adesso.
quindi ogni record è composto da
(chiaveStringa, (posizione, valore))
chiaro adesso??
qui hai
http://download.oracle.com/javase/1..../util/Map.html
di Map, puoi controllare per le altre, ma su questa struttura non è garantito che per un elemento ti dia l'indice.
Puoi farlo con List, ma sono strutture dati differenti