Hola:
Otra opción es meter una lista como valor en el HashMap algo así
Cuando quieras meter un valor tendrías que hacer algo así
Código Java:
Ver originalif (null == map.get(clave)) {
map.put(clave, new LinkedList<Client>());
}
map.get(clave).add(tuCliente);
básicamente, si al meter un cliente, el valor (la lista) no existe, creas la lista y añades a ella el cliente. Si ya existía, simplemente lo añades. Cuando quieras recuperar
Código Java:
Ver originalList<Client> clientes = map.get(clave);
y tendrías la lista de clientes con esa clave. He puesto LinkedList<> por poner algo, puedes poner ArrayList<> o cualquier otra implementación de List<> que te guste más.
Otro detalle, si hay posibilidad por el motivo que sea de que añadas el mismo cliente varias veces, antes de añadirlo deberías recorrer la lista para ver que no está ya.
Se bueno.