的名单我有这样创建的列表变量:分拣地图<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