• 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

  • 相关阅读:
    java中过滤器和拦截器的区别
    Java中内部类和静态内部类的区别
    SpringBoot启动的时候切换配置文件命令
    centos7安装Subversion
    关于curl_setopt参数的记录
    Linux Samba文件共享服务,安装与案例配置
    CentOS7源码安装Redis5.0.4非关系型数据库
    Centos7部署LAMP平台之架构之路
    Centos7安装及配置DHCP服务
    CentOS 7源码安装MYSQL-5.6
  • 原文地址:https://www.cnblogs.com/flywang/p/8416788.html
Copyright © 2020-2023  润新知