当前位置:  开发笔记 > 编程语言 > 正文

如何排序Arraylist <Hashmap <String,String >>

如何解决《如何排序Arraylist<Hashmap<String,String>>》经验,为你挑选了1个好方法。

这里我有一个查询,其中我根据条件获取名称和值,我在列表中存储empid和empname的值

这是一段代码:

List _empid = new ArrayList();
List _empname = new ArrayList();

在这里,我从数据库中获取值:

while (cur1.moveToNext()) {
if (cur1.getString(cur1.getColumnIndex("name"))
        .equalsIgnoreCase("DIS_FIELD_COLLECTION_EXECUTIVE")) {

         _empid.add(cur1.getString(cur1.getColumnIndex("value")));

   } else if (cur1.getString(cur1.getColumnIndex("name"))
                  .equalsIgnoreCase("FIELD_EXECUTIVE_NAME")) {

         _empname.add(cur1.getString(cur1.getColumnIndex("value")));

   }
}

 for (int i = 0; i < _empid.size(); i++) {
          HashMap map = new HashMap();
          map.put("id", _empid.get(i));
          map.put("name", _empname.get(i));

          Log.e("forloop", _empid.get(i));
          Log.e("forloop", _empname.get(i));

          emp.add(map);
          adp_emp = new Listadapter_emp(emp, Tracker_filter_Activity.this);
                        lst_employee.setAdapter(adp_emp);
}

这里的输出是这样的

01-17 12:16:49.696 29369-29369/com.wp.focus E/forloop: 5
01-17 12:16:49.696 29369-29369/com.wp.focus E/forloop: AZAD NAGAR-TAN001    
01-17 12:16:49.697 29369-29369/com.wp.focus E/forloop: 3
01-17 12:16:49.697 29369-29369/com.wp.focus E/forloop: PURVANG PANDYA-FPP022
01-17 12:16:49.698 29369-29369/com.wp.focus E/forloop: 2
01-17 12:16:49.698 29369-29369/com.wp.focus E/forloop: TWESTT TESST-TTT001    
01-17 12:16:49.699 29369-29369/com.wp.focus E/forloop: 9
01-17 12:16:49.699 29369-29369/com.wp.focus E/forloop: SDSDHH XDGHGSDFHGSD-TSX001    
01-17 12:16:49.699 29369-29369/com.wp.focus E/forloop: 8
01-17 12:16:49.699 29369-29369/com.wp.focus E/forloop: TEST TEST-TTT002    
01-17 12:16:49.699 29369-29369/com.wp.focus E/forloop: 6
01-17 12:16:49.699 29369-29369/com.wp.focus E/forloop: AZADALAM NAGAR-TAN002

必需的输出是名称应按字母顺序排序,id应按名称排列,即必需输出如:

AZAD NAGAR-TAN001            5
AZADALAM NAGAR-TAN002        6
PURVANG PANDYA-FPP022        3
SDSDHH XDGHGSDFHGSD-TSX001   9
TEST TEST-TTT002             8
TWESTT TESST-TTT001          2

因此,ID应该根据排序名称进行调整,我得到名称和ID但不是按照排序的方式我使用谷歌的各种例子仍然没有找到.如果这个解决了将不胜感激,谢谢.



1> 小智..:

您可以使用以排序方式存储数据的树映射.其次,您可以在地图中将Id(key)放在名称中.

如果你仍然想以相同的方式使用Collections.sort(),那么你可以用来对列表进行排序.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有