En efecto, lo puede hacer con un HashMap, cuando tenga dudas acerca de qué tipos de clase existen y las características de las mismas, puede recurrir a la documentación de Java, bastará con escribir en el buscador "java api" y el primer enlace probablemente será el que usted necesita, ahí tendrá una documentación en javadoc (como la que ya aprendimos a generar con NetBeans). Específicamente, en el caso del HashMap, podrá encontrar la doc de esta clase en:
http://java.sun.com/j2se/1.5.0/docs/api/java/util/HashMap.htmlNotará que esta clase implementa generics usando dos parámetros, el primero (K) es la clave, el segundo (V) es el valor, de manera que usted podrá usar una declaración del tipo:
HashMap<Integer, MiObjeto> valores = new HashMap<Integer, MiObjeto>();
donde la llave es de tipo entero y el valor de tipo MiObjeto. Para agregar cualquier elemento a este HashMap usaría algo como:
MiObjeto aAgregar = new MiObjeto();
valores.put(1, aAgregar);
Notará que si intenta hacer algo como
valores.put("uno", aAgregar);
obtendrá un error de compilación, esto es porque la clave "uno" no es de tipo "Integer" como lo había definido previamente.
Ahora bien, si hace algo como:
MiObjeto aAgregarPrimero = new MiObjeto();
MiObjeto aAgregarDespues = new MiObjeto();
valores.put(1, aAgregarPrimero);
valores.put(1, aAgregarDespues);
se guardará solamente el segundo, ya que, según se define en el método put (cito textualmente):
If the map previously contained a mapping for this key, the old
value is replaced
Por otra parte, cuando desee obtener algún elemento de este HashMap puede usar el método get pasándole como parámetro la clave (tenga en cuenta que la búsqueda sobre un elemento por un campo que no sea la clave sería mucho más costosa). Por ejemplo, si después de usar la sentencia de doble inserción que usamos antes utiliza:
valores.get(1);
le retornaría aAgregarDespues.
Debo decir que no creo que necesite usar este tipo de colecciones por ahora, si necesita usar una clave creo que sería suficiente con agregarla en la entidad y no en la relación. Si nos explica de una forma más detallada el caso específico en el que está trabajando y que le ha presentado esta dificultad, quizás podamos darle una mejor sugerencia.