簡體   English   中英

對Hashmap的ArrayList進行排序 <String,Object> 按整數值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM