Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/09/2011, 05:01
cucuru
 
Fecha de Ingreso: marzo-2009
Mensajes: 509
Antigüedad: 15 años, 11 meses
Puntos: 17
ordenando con treeMap

hola, estoy intentando ordenar unas coordenadas que tengo en una base de datos según la distancia a la qeu estoy de ellas. Así qeu tengo este hashMap

Código:
		Map miMap= new HashMap();

		miMap.put("1085","lat1 lng1");
		miMap.put("1312","lat2 lng2");
		miMap.put("1431","lat3 lng3");
		miMap.put("1144","lat4 lng4");
		miMap.put("917","lat5 lng5");
		miMap.put("1199","lat6 lng6");
		miMap.put("1634","lat7 lng7");
		miMap.put("2002","lat8 lng8");
		miMap.put("2280","lat9 lng9");
		miMap.put("3470","lat10 lng10");
Lo ordeno con un treeMap:

Código:
Map mapOrdenado = new TreeMap(miMap);
Ahora imprimo las claves a ver si están en orden:

Código:
1085
1144
1199
1312
1431
1634
2002
2280
3470
917
Es decir, el problema viene cuando un número no tiene el mismo número de dígitos qeu el resto, he probado también con una distancia 314 y queda entre el 2280 y el 3470.

me parece "sucio" buscar el mayor número y luego rellenar con 0 las distancias con menos dígitos (en este caso sería 0917 y 0314) para que lo haga bien, supongo que habrá alguna forma "más limpia"

gracias!