Java中list里面存放map,根据map中的某一个字段进行排序

例如:

[java] view plaincopy
  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. public class Com {
  9. /**
  10. * @param args
  11. */
  12. @SuppressWarnings({ "rawtypes", "unchecked" })
  13. public static void 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. public int 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

[java] view plaincopy
  1. -------------------

1

2

3

java中list里面存放map,根据map中的某一个字段进行排序相关推荐

  1. 浅谈Java中的Set、List、Map的区别

    就学习经验,浅谈Java中的Set,List,Map的区别,对JAVA的集合的理解是想对于数组: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),JAVA集合可以存储和操 ...

  2. Java基础学习总结(29)——浅谈Java中的Set、List、Map的区别

    Java中的Set,List,Map的区别,对JAVA的集合的理解是相对于数组: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),JAVA集合可以存储和操作数目不固定的一 ...

  3. 牛客网Java刷题知识点之Java 集合框架的构成、集合框架中的迭代器Iterator、集合框架中的集合接口Collection(List和Set)、集合框架中的Map集合...

    不多说,直接上干货! 集合框架中包含了大量集合接口.这些接口的实现类和操作它们的算法. 集合容器因为内部的数据结构不同,有多种具体容器. 不断的向上抽取,就形成了集合框架. Map是一次添加一对元素. ...

  4. Java中的List、Set、Map

    http://webservices.ctocio.com.cn/java/435/8907435.shtml# 本文主要介绍java中list,set和map 的区别 . <!-- Error ...

  5. java 定义map集合_Java中的Map集合

    Map集合: 个人感觉Map接口以后会经常用到,可以很清晰地查找某个对象,要熟悉其四种遍历方法.特别注意其键值对的键不能是重复的,有想定义有序存取的话,可以使用LinkedHashMap集合.不过定义 ...

  6. java map中的entry_java中Map及Map.Entry详解(组图)

    java中Map及Map.Entry详解(组图) 08-22栏目:技术 TAG:map.entry map.entry Map是java中的接口,Map.Entry是Map的一个内部接口. copyr ...

  7. java map遍历_Java中Map集合的两种遍历方式

    Java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下Java中Map集合的两种遍历方式! 关于遍历Map集合的几 ...

  8. java+map申明_Java中两种HashMap申明方式区别?

    Map是HashMap的父类,第一种声明方式是:父类的引用指向子类的对象,是多态的一种表现形式:第二种是:使用本身引用.举个例子: 第一种声明方式是实现了多态,多态后就可以写出一段所有子类都通用的代码 ...

  9. java中map类型_Java中Map类型遍历的两种方式对比

    Java中Map类型是存储键值对数据的类型,在编程过程经常使用,进行遍历操作对于每个Java程序员都不会模式,下面总结两种常用的遍历方式(一种keySet,一种entrySet),通过对比让你明白使用 ...

最新文章

  1. 如何设计一个支撑数亿用户的系统
  2. 遗传算法系统辨识matlab程序,8.8 基于遗传算法的机械手参数辨识 系统辨识理论及Matlab仿真课件.ppt...
  3. mysql五-1:单表查询
  4. 基于Go实现的秒杀系统
  5. QT Windows下生成动态链接库
  6. SAP如何自定义客户编码
  7. 新手建网站笔记(四)--快捷键
  8. #pragma comment使用
  9. paip.网站扫描安全工具hp WebInspect 使用指南
  10. 《高质量程序设计指南---C++/C语言》 下载
  11. 【C语言】学生打卡系统(完整代码)
  12. ubuntu20.04安装opencv4
  13. LeetCode 198. 打家劫舍
  14. servlet工作流程
  15. dpdk pktgen发包工具使用
  16. androidstudio虚拟机打不开的解决方法,一路坎坷,靠运气成功的!!!
  17. 双通道中频信号数字下变频及相位差估计(FPGA)
  18. 什么是LoRaWAN
  19. 递归判断回文字符串c语言,递归判断字符串是否为回文
  20. WPS表格打印的时候有非常多的空白页应该怎么办?

热门文章

  1. 20181207 上课截图
  2. Gradle打可运行Jar包(包含依赖第三方库中的类)
  3. Datastructure
  4. 世界互联网大会发布15项领先科技成果
  5. Selenium2.0功能测试之唯一元素的定位
  6. 第二章 数学运算、数组、文字处理
  7. 如何用代码爬抓电商数据(附淘宝API调用实例)
  8. 速修复!这个严重的 Apache Struts RCE 漏洞补丁不完整
  9. Linux 系统服务漏洞PwnKit 已存在12年,可获得所有主流发布版本的root 权限
  10. 谷歌:朝鲜国家黑客第二次攻击安全研究员