的名單我有這樣創建的列表變量:分揀地圖<String,字符串>
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
在我的Android應用程序,這個名單被填充。
只是一個例子:
Map<String, String> map1 = new HashMap<String, String>();
map.put("name", "Josh");
...
Map<String, String> map2 = new HashMap<String, String>();
map.put("name", "Anna");
...
Map<String, String> map3 = new HashMap<String, String>();
map.put("name", "Bernie");
...
list.add(map1);
list.add(map2);
list.add(map3);
我使用list
通過擴展BaseAdapter
並實現各種方法來顯示一個ListView
結果。
我的問題:我需要基於地圖的關鍵名
問題以字母順序排序list
:什麼是一個簡單的方法來排序的字母順序list
基於地圖的關鍵名?
我似乎無法繞過我的頭。我已將每個Map
的名稱提取到String
陣列中,並對其進行分類(Arrays.sort(strArray);
)。但是,這並不保留在每個Map
其他數據,所以我也不太清楚,我怎麼可以保留其他映射值
@DLK,知道如何編寫自定義比較器正是binnyb發現的。 – 2011-03-01 15:04:12
@Jon Skeet和@JB Nizet的答案都正確地指出'Map'可能是您的記錄不好的選擇。具有屬性/ getters/setter的自定義類會更好。爲什麼? 1)魯棒性/類型安全性,2)存儲器使用,3)性能,4)更簡單的代碼。 – 2011-03-01 15:09:41
感謝您的提示,我會研究如何改變設置。 – binnyb 2011-03-01 15:12:31