• 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

  • 相关阅读:
    25个PHP游戏编程脚本代码(转)
    [AJAXJSP]使用DWR框架验证用户名是否存在
    [AJAXJSP]验证用户名存在
    [Java基础]多线程求和小例子
    [JAVA算法]求子数组的最大和
    [JQury] slideToggle闪烁问题及解决办法
    [JAVA算法]递归求Fibbonicc序列方法
    Easy ui Datagrid(下拉、复选、只输入数字、文本) 追加、删除、更改
    Easy ui DataGrid 添加复选框 与 下拉
    Easy ui DataGrid 列文字多串行问题解决方案
  • 原文地址:https://www.cnblogs.com/flywang/p/8416788.html
Copyright © 2020-2023  润新知