JAVA中对list map根据map某个key值进行排序
Posted Dreamice
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA中对list map根据map某个key值进行排序相关的知识,希望对你有一定的参考价值。
package test; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; public class java_ListMapSort { public static void main(String[] args) { // TODO Auto-generated method stub List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); Map<String, Object> map1 = new HashMap<String, Object>(); map1.put("name", "p"); map1.put("age", "5"); Map<String, Object> map2 = new HashMap<String, Object>(); map2.put("name", "h"); map2.put("age", "12"); Map<String, Object> map3 = new HashMap<String, Object>(); map3.put("name", "f"); map3.put("age", "31"); list.add(map1); list.add(map3); list.add(map2); //排序前 for (Map<String, Object> map : list) { System.out.println(map.get("age")); } Collections.sort(list, new Comparator<Map<String, Object>>() { public int compare(Map<String, Object> o1, Map<String, Object> o2) { Integer age1= Integer.valueOf(o1.get("age").toString()) ;//age1是从你list里面拿出来的第一个 age Integer age2= Integer.valueOf(o2.get("age").toString()) ; //age1是从你list里面拿出来的第二个age return age1.compareTo(age2); //return age2.compareTo(age1);为降序 } }); //排序后 System.out.println("-------------------"); for (Map<String, Object> map : list) { System.out.println(map.get("age")); } } }
以上是关于JAVA中对list map根据map某个key值进行排序的主要内容,如果未能解决你的问题,请参考以下文章
JAVA8中对List<map<String,Object>>根据map某个value值进行排序,还支持中文排序,可以替代order by
Java 8 Stream根据某个相同的key合并两个Map List,其他key相同时优先保留其中一个List的值