如题,一个List<Map<String, String>> Lists = new ArrayList<Map<String, String>>(); 怎么才能对它进行排序呢? 通过函数Collections.sort进行排列:private String[] namelist = {"Id", "UserId", "UserNo", "Name", "TypeId", "Money", "Remark", "PassCode", "Order_no", "AddTime"}; private String[] keylist = {"id", "userid", "username", "name", "type", "money", "remark", "passcode", "ordernumber", "addtime"};
id是我map里面的字段,是自增的Collections.sort(str, new Comparator<Map<String, String>>() { @Override public int compare(Map<String, String> o1, Map<String, String> o2) { String n1=o1.get("id"); String n2=o2.get("id"); // 我这里是从大到小的排序,如果从小到大,n1和n2换一下位置就可以了 return n2.compareTo(n1); } });
然后使用增强for循环遍历出整个map集合所有数据的List<Map<String, String>> list=new ArrayList<Map<String, String>>(); for (Map<String,String> map:str){ list.add(map); }
我这里的数据是要匹配到listview上的,所以添加到新的list之后,直接用适配器直接适配上去public void doResults(List<Map<String, String>> str) { if (moneyList != null) { moneyList.clear(); } Collections.sort(str, new Comparator<Map<String, String>>() { @Override public int compare(Map<String, String> o1, Map<String, String> o2) { String n1=o1.get("id"); String n2=o2.get("id"); // 我这里是从大到小的排序,如果从小到大,n1和n2换一下位置就可以了 return n2.compareTo(n1); } }); List<Map<String, String>> list=new ArrayList<Map<String, String>>(); for (Map<String,String> map:str){ list.add(map); } moneyList.addAll(list); adapter = new MoneyAdapter(MoneyChargeActivity.this, moneyList); mXListView.setAdapter(adapter);
对List集合嵌套了map集合的排序
最新推荐文章于 2024-12-11 14:46:19 发布
本文介绍如何对一个List<Map<String, String>>集合进行排序,主要使用Collections.sort()函数,通过自定义Comparator比较Map中的'id'字段,实现从大到小的排序。示例代码展示了如何在Android环境中,将排序后的数据适配到ListView上。"
124826441,10657307,Vue全屏切换功能实现,"['Vue', 'JavaScript', '前端框架', '全屏切换', '前端开发']

2313

被折叠的 条评论
为什么被折叠?



