Add all the HashMap to the list and sort it using a custom Comparator as follows:
Collections.sort(arrayListHashMap, new Comparator<HashMap<String, Object>>() { @Override public int compare(HashMap<String, Object> o1, HashMap<String, Object> o2) { return ((Integer) o1.get("distance")).compareTo( (Integer) o2.get("distance")); } });
Full example:
public static void main(String... args) { List<HashMap<String, Object>> arrayListHashMap = new ArrayList<HashMap<String, Object>>(); { HashMap<String, Object> hashMap = new HashMap<String, Object>(); hashMap.put("key", "A key"); hashMap.put("value", "B value"); hashMap.put("distance", 2536); arrayListHashMap.add(hashMap); } { HashMap<String, Object> hashMap = new HashMap<String, Object>(); hashMap.put("key", "B key"); hashMap.put("value", "A value"); hashMap.put("distance", 2539); arrayListHashMap.add(hashMap); } Collections.sort(arrayListHashMap, new Comparator<HashMap<String, Object>>() { @Override public int compare( HashMap<String, Object> o1, HashMap<String, Object> o2) { return ((Integer) o1.get("distance")).compareTo( (Integer) o2.get("distance")); } }); System.out.println(arrayListHashMap); }
source share