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!