簡體   English   中英

Android:如何訂購ArrayList <HashMap<String,String> &gt;?

[英]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"));

另請參閱如何在Java中對值進行排序?

你可以簡單地使用它來自定義數組列表中的對象排序,

public class MyComparator implements Comparator<MyObject> {
    @Override
    public int compare(MyObject o1, MyObject o2) {
        return o1.getYOUROBJ1STR.compareTo(o2.getYOUROBJ2STR);
    }
}

如果您仍然面臨排序地圖的問題,請與我們聯系

如果是ArrayList的話,可以使用comparator和Collections類一起完成

檢查此鏈接

感謝Lars vogel

我想你正在尋找: -

按屬性排序自定義對象的ArrayList

排序Map <String,String>列表

希望它會幫助你......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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