I am using ArrayMap in my Activity for storing my response. 
ArrayMap<String, PublicSpotData> publicSpotData ArrayMap will store index as well as key-value pair. Now I have problem in sorting ArrayMap. I want to sort ArrayMap according to publicSpotData.getAt() (int). 
I have already done this.
List<Map.Entry<String, PublicSpotData>> entries = new ArrayList<>();
 for (Map.Entry<String, PublicSpotData> entry : publicSpotData.entrySet()) {
       entries.add(entry);
 }
 Collections.sort(entries, new Comparator<Map.Entry<String, PublicSpotData>>() {
                @Override
                public int compare(Map.Entry<String, PublicSpotData> o1, Map.Entry<String, PublicSpotData> o2) {
                    return o2.getValue().getAt().compareTo(o1.getValue().getAt());
                }
            });
            for (Map.Entry<String, PublicSpotData> entry : entries)
                publicSpotData.put(entry.getKey(), entry.getValue());`
But this not solved my issue. Any help would be appreciated.
 
     
     
    