ordenado example java sortedmap

example - map ordenado java



¿Cómo utilizar la interfaz SortedMap en Java? (5)

Puede usar TreeMap, que implementa internamente el SortedMap a continuación es el ejemplo

Clasificación por orden ascendente:

Map<Integer,String> ascsortedMAP = new TreeMap<Integer,String>(); ascsortedMAP.put(8, "name8"); ascsortedMAP.put(5, "name5"); ascsortedMAP.put(15, "name15"); ascsortedMAP.put(35, "name35"); ascsortedMAP.put(44, "name44"); ascsortedMAP.put(7, "name7"); ascsortedMAP.put(6, "name6"); for(Map.Entry<Integer, String> mapData : ascsortedMAP.entrySet()) { System.out.println("Key : " +mapData.getKey()+ "Value : "+mapData.getValue()); }

Clasificación por orden descendente:

//Create the map and provide the comparator as a argument Map<Integer,String> dscsortedMAP = new TreeMap<Integer,String>(new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { return o2.compareTo(o1); } }); dscsortedMAP.putAll(ascsortedMAP); for(Map.Entry<Integer, String> mapData : dscsortedMAP.entrySet()) { System.out.println("Key : " +mapData.getKey()+" Value : "+mapData.getValue()); }

Para obtener más información sobre SortedMAP, lea http://examples.javacodegeeks.com/core-java/util/treemap/java-sorted-map-example/

tengo un

Map<Float, MyObject>

¿Cuál es la mejor manera de mantener ordenado el mapa de acuerdo con el flotador?

¿Es SortedMap la mejor respuesta? TreeMap ? ¿Como lo uso?

Solo creo el mapa una vez y sustituyo MyObject frecuencia usando myMap.put() y myMap.get() .


TreeMap, que es una implementación de la interfaz SortedMap, funcionaría.

Como lo uso ?

Map<Float, MyObject> map = new TreeMap<Float, MyObject>();


Un TreeMap es probablemente la forma más sencilla de hacer esto. Lo usas exactamente como un mapa normal.

es decir

Map<Float,String> mySortedMap = new TreeMap<Float,MyObject>(); // Put some values in it mySortedMap.put(1.0f,"One"); mySortedMap.put(0.0f,"Zero"); mySortedMap.put(3.0f,"Three"); // Iterate through it and it''ll be in order! for(Map.Entry<Float,String> entry : mySortedMap.entrySet()) { System.out.println(entry.getValue()); } // outputs Zero One Three

Vale la pena echar un vistazo a los documentos API, http://download.oracle.com/javase/6/docs/api/java/util/TreeMap.html para ver qué más puede hacer con eso.


Yo usaría TreeMap , que implementa SortedMap . Está diseñado exactamente para eso.

Ejemplo:

Map<Integer, String> map = new TreeMap<Integer, String>(); // Add Items to the TreeMap map.put(1, "One"); map.put(2, "Two"); map.put(3, "Three"); // Iterate over them for (Map.Entry<Integer, String> entry : map.entrySet()) { System.out.println(entry.getKey() + " => " + entry.getValue()); }

Vea la página de tutorial de Java para SortedMap .
Y aquí una lista de tutoriales relacionados con TreeMap.


TreeMap ordena por la clave de orden natural. Las claves deben implementar Comparable o ser compatibles con un Comparator (si pasaste una instancia al constructor). En su caso, Float ya implementa Comparable para que no tenga que hacer nada especial.

Puede llamar a keySet para recuperar todas las teclas en orden ascendente.