![](/img/trans.png)
[英]How to order a multicolumn Hashmap<String><String> on android?
[英]Android: How to Order ArrayList<HashMap<String,String>>?
我在地圖中保存產品的詳細信息,並添加ArrayList <HashMap <String,String >>並設置為自定義列表適配器。 我需要按價格對價值進行排序。 怎么實現呢? 提前致謝。
請使用以下代碼:
ArrayList< HashMap< String,String >> arrayList=populateArrayList();
Collections.sort(arrayList, new Comparator<HashMap< String,String >>() {
@Override
public int compare(HashMap<String, String> lhs,
HashMap<String, String> rhs) {
// Do your comparison logic here and retrn accordingly.
return 0;
}
});
您可以實現Comparator<Map<String, String>>
或Comparator<HashMap<String, String>>
如何對HashMaps的ArrayList分別保存幾個鍵值對? 很好地回答:
class MapComparator implements Comparator<Map<String, String>>{
private final String key;
public MapComparator(String key){
this.key = key;
}
public int compare(Map<String, String> first,
Map<String, String> second){
// TODO: Null checking, both for maps and values
String firstValue = first.get(key);
String secondValue = second.get(key);
return firstValue.compareTo(secondValue);
}
}
...
Collections.sort(arrayListHashMap, new MapComparator("value"));
你可以簡單地使用它來自定義數組列表中的對象排序,
public class MyComparator implements Comparator<MyObject> {
@Override
public int compare(MyObject o1, MyObject o2) {
return o1.getYOUROBJ1STR.compareTo(o2.getYOUROBJ2STR);
}
}
如果您仍然面臨排序地圖的問題,請與我們聯系
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.