En Java, ¿hay algún objeto que actúe como un Mapa para almacenar y acceder a pares clave/valor, pero puede devolver una lista ordenada de claves y una lista ordenada de valores, de modo que la clave y las listas de valores sean ¿en el mismo orden?Java Ordered Map
Así como explicación por código, yo estoy buscando algo que se comporta como mi OrderedMap ficticia:
OrderedMap<Integer, String> om = new OrderedMap<>();
om.put(0, "Zero");
om.put(7, "Seven");
String o = om.get(7); // o is "Seven"
List<Integer> keys = om.getKeys();
List<String> values = om.getValues();
for(int i = 0; i < keys.size(); i++)
{
Integer key = keys.get(i);
String value = values.get(i);
Assert(om.get(key) == value);
}
Si todo lo que quiere hacer es iterar a través de ambos al mismo tiempo, Map.entrySet() le permitirá hacer eso en cualquier mapa. El LinkedHashMap tiene un orden bien definido, pero para cualquier Map el conjunto de entrada refleja los pares clave/valor. –
Este código no es un buen ejemplo ya que cualquier implementación de Map se comportará como su código de muestra. ordenado, ordenado o no. –
Peter Lawrey: ¿Podrías ampliar eso? La interfaz de Mapa devuelve claves y valores como Conjunto y Colección, respectivamente. No se garantiza el orden en ninguno de estos, por lo que no parece sensato decir que todas las implementaciones de Map se comportarán como en mi código de ejemplo. – Whatsit