Ti ringrazio per l'aiuto.
Usare 2 strutture dati mi pare alquanto macchinoso. Io lascerei perdere a priori.
Invece per quanto riguarda la struttura così composta: Map<String, Map<Integer, Integer>> so che c'è il problema dell'univocità (si dice così?) delle chiavi.
Per quanto riguarda la key della Map <String, Map<Integer, Integer>> , cioè la key di tipo String non ci sarebbero problemi di sorta dato che tutte le parole sono univoche.
Per quanto riguarda la key della Map <Integer, Integer> devo capire se intendi costruire una Map di un singolo elemento per ogni record della Lista. In tal caso il problema univocità non si porrebbe dato che ci sarebbero tante piccole Map per ogni elemento.
Se invece la Map secondaria è per tutti i record, si potrebbe fare usando come chiavi le sole posizioni dato che gli interi non sarebbero univoci sicuramente. Qui però nasce l'arcano: la Map individua le posizioni? A quanto ne so io no; cioè non mi ricordo esista un metodo che ritorna la posizione di un elemento.
Dovrò usare un Vector[N][2]? Non mi pare molto elegante e non so se c'è il supporto per un ordinamento facile facile, ma forse dovrei farlo a manina io.![]()