[英]Sorting an ArrayList of Hashmap<String,Object> by int value
我已經進行了很多搜索,但是找不到適合我問題的解決方案。 現在,我想根據一個int值對ArrayList<Hashmap<String, Object>>
進行排序。
HashMap<String, Object>map = new HashMap<String, Object>();
map.put("friend", "x");
map.put("status", "yyoyo");
map.put("time", "20:10");
map.put("lat", 30.030535);
map.put("lng", 31.506050);
map.put("distance", 50);
statusMapList.add(map);
現在,這里是一個示例。 statusMapList
擁有許多這樣的Hashmap,我想根據distance
值對它們進行排序,那么有什么辦法可以做到這一點? 非常感謝。
如果我正確理解了您的用例,則應該更改數據表示形式。
創建一個名為Status的類,該類實現Comparable
public class Status implements Comparable<Status>
{
String friend;
String status;
String time; // Or DateTime
double lat;
double lng;
double distance;
// Override compareTo and use distance to decide the order
// Override equals
// Override hashcode
}
現在,您應該創建一個ArrayList<Status>()
,然后Collections.sort()
應該可以工作。
只需編寫自己的Comparator<HashMap<String, Object>>
並使用此版本的Collections.sort()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.