Estoy utilizando Apache Commons Collections para crear un MultiKeyMap que almacenará dos claves con un valor correspondiente y luego usar MapIterator para recorrer el mapa. El problema que tengo es que necesito volver a romper las claves devueltas por MapIterator a las claves individuales en lugar de a un único "compuesto". Aunque podría dividir la cadena que contiene la tecla "compuesta" o usar reflexiones, ninguna de estas opciones parece muy elegante.Break MultiKey devuelto por MapIterator a las claves individuales
Para modelar el problema, he creado el siguiente código de ejemplo
MultiKeyMap multiKeyMap = new MultiKeyMap();
multiKeyMap.put("Key 1A","Key 1B","Value 1");
multiKeyMap.put("Key 2A","Key 2B","Value 2");
multiKeyMap.put("Key 3A","Key 3B","Value 3");
MapIterator it = multiKeyMap.mapIterator();
while (it.hasNext()) {
it.next();
System.out.println(it.getKey());
System.out.println(it.getValue());
}
it.getKey()
vuelve multicircuito [clave 3A, 3B Clave], pero lo que yo quiero hacer es asignar las claves de variables individuales, algo así como myKey1 = it.getKey().keys[0]
y myKey2 = it.getKey().keys[1]
pero no puedo encontrar nada en JavaDoc para lograr esto.
¿Es posible romper las teclas devueltas por el MapIterator en las teclas individuales sin usar reflejos o manipular la cadena devuelta por it.getKey()?
Gracias Eric - La opción 1 es perfecta :) –