簡體   English   中英

如何對Arraylist進行排序<Hashmap<String,String> &gt;

[英]How to sort Arraylist<Hashmap<String,String>>

在這里,我有一個查詢,其中根據條件獲取名稱和值,我將 empid 和 empname 的值存儲在 List 中

這是一段代碼:

List<String> _empid = new ArrayList<String>();
List<String> _empname = new ArrayList<String>();

在這里,我從數據庫中獲取值:

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<String, String> map = new HashMap<String, String>();
          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,但不是以排序的方式我使用了來自谷歌的各種示例仍然沒有找到。如果解決了這個問題,我將不勝感激,謝謝。

您可以使用以排序方式存儲數據的樹圖 其次,您可以在地圖中將名稱與 Id(key) 相對應

如果您仍然想以相同的方式使用 in,那么您可以使用Collections.sort()對您的列表進行排序。

暫無
暫無

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

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