Código:
Lo ordeno con un treeMap: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");
Código:
Ahora imprimo las claves a ver si están en orden:Map mapOrdenado = new TreeMap(miMap);
Código:
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.1085 1144 1199 1312 1431 1634 2002 2280 3470 917
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!