Estoy tratando de poner algunos valores clave en el mapa y tratando de recuperarlos en la misma secuencia en que se insertaron. Por ejemplo a continuación es mi códigocómo obtener las claves en el mapa con la misma secuencia que se insertaron
import java.util.*;
import java.util.Map.Entry;
public class HashMaptoArrayExample {
public static void main(String args[])
{
Map<String,Integer> map= new HashMap<String,Integer>();
// put some values into map
map.put("first",1);
map.put("second",2);
map.put("third",3);
map.put("fourth",4);
map.put("fifth",5);
map.put("sixth",6);
map.put("seventh",7);
map.put("eighth",8);
map.put("ninth",9);
Iterator iterator= map.entrySet().iterator();
while(iterator.hasNext())
{
Entry entry =(Entry)iterator.next();
System.out.println(" entries= "+entry.getKey().toString());
}
}
}
Quiero recuperar las claves como abajo
first second third fourth fifth sixth .....
Pero se está mostrando en un orden aleatorio de la siguiente manera en mi salida
OUTPUT
ninth eigth fifth first sixth seventh third fourth second
Duplicado ?? http://stackoverflow.com/questions/663374/java-ordered-map –
java.util.LinkedHashMap y nunca/nunca use java.util.HashMap a menos que tenga una razón muy fuerte (es decir, huella de memoria reducida y falta de iteración)) imo, HashMap es la peor estructura de datos en java.util (quizás superada solo por java.util.Stack) – bestsss
@msalvadores No exactamente. Se trataba de entradas clasificadas (alfabéticamente, por ejemplo), esta se trata de que se devuelvan en el mismo orden en que se agregaron al mapa. – biziclop