Please check my solution, sorted by keys:
private static SparseIntArray sFactorsMap = new SparseIntArray(); private static void sortMap() { SparseIntArray sortedSparseIntArray = new SparseIntArray(); while (sFactorsMap.size() > 0) { int min = Integer.MAX_VALUE; for (int i = 0; i < sFactorsMap.size(); i++) { if (sFactorsMap.keyAt(i) <= min) { min = sFactorsMap.keyAt(i); } } sortedSparseIntArray.put(min, sFactorsMap.get(min)); sFactorsMap.removeAt(sFactorsMap.indexOfKey(min)); } sFactorsMap = sortedSparseIntArray; }
source share