zoukankan      html  css  js  c++  java
  • java中list里面存放map,根据map中的某一个字段进行排序

    1. package com;  
    2.   
    3. import java.util.ArrayList;  
    4.   
    5. import java.util.Collections;  
    6. import java.util.Comparator;  
    7. import java.util.HashMap;  
    8. import java.util.List;  
    9. import java.util.Map;  
    10.   
    11. public class Com {  
    12.   
    13.     /** 
    14.      * @param args 
    15.      */  
    16.     @SuppressWarnings({ "rawtypes", "unchecked" })  
    17.     public static void main(String[] args) {  
    18.         // TODO Auto-generated method stub  
    19.         List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();  
    20.         Map<String, Object> map1 = new HashMap<String, Object>();  
    21.         map1.put("id", "1");  
    22.         map1.put("name", "p");  
    23.         Map<String, Object> map2 = new HashMap<String, Object>();  
    24.         map2.put("id", "2");  
    25.         map2.put("name", "h");  
    26.         Map<String, Object> map3 = new HashMap<String, Object>();  
    27.         map3.put("id", "3");  
    28.         map3.put("name", "f");  
    29.         list.add(map1);  
    30.         list.add(map3);  
    31.         list.add(map2);  
    32.         //排序前  
    33.         for (Map<String, Object> map : list) {  
    34.               
    35.             System.out.println(map.get("id"));  
    36.         }  
    37.         Collections.sort(list, new Comparator<Map<String, Object>>(){  
    38.   
    39.                public int compare(Map<String, Object> o1, Map<String, Object> o2) {  
    40.                 String name1 =(String)o1.get("id");//name1是从你list里面拿出来的一个  
    41.                 String name2= (String)o2.get("id"); //name1是从你list里面拿出来的第二个name      
    42.                 return name1.compareTo(name2);    
    43.            }  
    44.                  
    45.               });  
    46.         //排序后  
    47.     System.out.println("-------------------");  
    48.  for (Map<String, Object> map : list) {  
    49.               
    50.             System.out.println(map.get("id"));  
    51.         }  
    52.           
    53.     }  
    54.   
    55. }  

    运行结果是:

    1

    3

    2

    [java] view plain copy
     
    1. -------------------  

    1

    2

    3

    转自:http://blog.csdn.net/g631521612/article/details/8768658

  • 相关阅读:
    Hello,world的几种写法!
    浮动与清除浮动
    css中表格的table-layout属性特殊用法
    CSS之照片集效果
    CSS之transition过渡练习
    CSS之过渡简单应用—日落西山
    CSS之立方体绘画步骤
    CSS之立体球体
    transform
    Vue.sync修饰符与this.$emit('update:xxx', newXXX)
  • 原文地址:https://www.cnblogs.com/flywang/p/8416788.html
Copyright © 2011-2022 走看看