Ma veramente nel codice che hai postato (il secondo, dove parli del problema di fondo), tu stai solo facendo degli inserimenti... tutti su una mappa vuota appena creata e tutti con chiavi "univoche".
Prova questo semplice esempio:
codice:
import java.util.*;
public class Mappature {
public static void main(String[] args) {
HashMap<Integer,String> mappa = new HashMap<Integer,String>();
// Stamperà null perchè la mappa è vuota (non esiste, quindi,
// nessuna mappatura per la chiave 1)
System.out.println( mappa.put(1, "Pippo") );
// Stamperà null perchè non esiste nessuna mappatura per la chiave 2
System.out.println( mappa.put(2, "Pluto") );
// Ora stamperà "Pippo" perchè sto sovrascrivendo la mappatura per
// la chiave 1, che in questo momento contiene, appunto, "Pippo"
System.out.println( mappa.put(1, "Paperino") );
// Ora la mappatura per la chiave 1 contiene "Paperino" e non più "Pippo"
System.out.println( mappa.get(1) );
}
}
Ciao.