1. 程式人生 > >java中list裡面存放map,根據map中的某一個欄位進行排序

java中list裡面存放map,根據map中的某一個欄位進行排序

Java中list裡面存放map,根據map中的某一個欄位進行排序

例如:

  1. package com;  
  2. import java.util.ArrayList;  
  3. import java.util.Collections;  
  4. import java.util.Comparator;  
  5. import java.util.HashMap;  
  6. import java.util.List;  
  7. import java.util.Map;  
  8. publicclass Com {  
  9.     /** 
  10.      * @param args 
  11.      */
  12.     @SuppressWarnings
    ({ "rawtypes""unchecked" })  
  13.     publicstaticvoid main(String[] args) {  
  14.         // TODO Auto-generated method stub
  15.         List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();  
  16.         Map<String, Object> map1 = new HashMap<String, Object>();  
  17.         map1.put("id""1");  
  18.         map1.put("name""p");  
  19.         Map<String, Object> map2 = new HashMap<String, Object>();  
  20.         map2.put("id""2");  
  21.         map2.put("name""h");  
  22.         Map<String, Object> map3 = new HashMap<String, Object>();  
  23.         map3.put("id"
    "3");  
  24.         map3.put("name""f");  
  25.         list.add(map1);  
  26.         list.add(map3);  
  27.         list.add(map2);  
  28.         //排序前
  29.         for (Map<String, Object> map : list) {  
  30.             System.out.println(map.get("id"));  
  31.         }  
  32.         Collections.sort(list, new Comparator<Map<String, Object>>(){  
  33.                publicint compare(Map<String, Object> o1, Map<String, Object> o2) {  
  34.                 String name1 =(String)o1.get("id");//name1是從你list裡面拿出來的一個
  35.                 String name2= (String)o2.get("id"); //name1是從你list裡面拿出來的第二個name    
  36.                 return name1.compareTo(name2);    
  37.         }  
  38.         });  
  39.         //排序後
  40.     System.out.println("-------------------");  
  41.  for (Map<String, Object> map : list) {  
  42.             System.out.println(map.get("id"));  
  43.         }  
  44.     }  
  45. }  
執行結果是:

1

3

2

  1. -------------------  
1

2

3