对元素为map的list按map中的值进行排序

Collections.sort(list, new Comparator<Map<String, Object>>() {
        @Override
        public int compare(Map<String, Object> o1, Map<String, Object> o2) {
            Integer value1 = 0;
            Integer value2 = 0;
            for (String key : o1.keySet()) {
                value1 = (Integer) o1.get(key);
            }
            for (String key : o2.keySet()) {
                value2 = (Integer) o2.get(key);
            }
            return value2.compareTo(value1);

        }
});
时间: 2024-10-05 17:12:00

对元素为map的list按map中的值进行排序的相关文章

Map四种获取key和value值的方法,以及对map中的元素排序

获取map的值主要有四种方法,这四种方法又分为两类,一类是调用map.keySet()方法来获取key和value的值,另一类则是通过map.entrySet()方法来取值,两者的区别在于,前者主要是先获取到所有的key的集合,当你需要查询value的值的时候需要通过key来查询value,后者则直接将key和value的键值对直接取出来,只用查询一次,对于那种性能更好,我觉得还是用map.entrySet()更好一点,具体请参见map.keySet()和map.EntrySet()的比较,接下

Map四种获取key和value值的方法,以及对map中的元素排序(转)

获取map的值主要有四种方法,这四种方法又分为两类,一类是调用map.keySet()方法来获取key和value的值,另一类则是通过map.entrySet()方法来取值,两者的区别在于,前者主要是先获取到所有的key的集合,当你需要查询value的值的时候需要通过key来查询value,后者则直接将key和value的键值对直接取出来,只用查询一次,对于那种性能更好,我觉得还是用map.entrySet()更好一点,具体请参见map.keySet()和map.EntrySet()的比较,接下

各种Map的区别,想在Map放入自定义顺序的键值对

今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序. 一.简单介绍Map 在讲解Map排序之前,我们先来稍微了解下map.map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等.其中这四者的区别如下(简单介绍): HashMap:我们最常用的Map,它根据key的HashCode 值来存储数据,根据key可以直接

Java Map按键(Key)排序和按值(Value)排序

Map排序的方式有很多种,两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value).1.按键排序jdk内置的java.util包下的TreeMap<K,V>既可满足此类需求,向其构造方法 TreeMap(Comparator<? super K> comparator)  传入我们自定义的比较器即可实现按键排序. Java代码   public class MapSortDemo { public static void main(Strin

Java集合篇六:Map中key值不可重复的测试

package com.test.collection; import java.util.HashMap; import java.util.Map; //Map中key值不可重复的测试 public class TestEquals { public static void main(String[] args) { String s1=new String("abc"); String s2=new String("abc"); Map map=new Has

Map的遍历方式-Map.EntrySet的用法

Map的遍历大体有3种: 1.遍历Map.entrySet():它的每一个元素都是Map.Entry对象,这个对象中, 放着的就是Map中的某一对key-value: 2.遍历Map.keySet():它是Map中key值的集合,我们可以通过遍历这个集合来 读取Map中的元素: 3.遍历Map.values():它是Map中value的集合,我们可以直接通过这个集合遍历 Map中的值,却不能读取key. ü 例子 package testcase; import java.util.HashMa

Android(java)学习笔记104:Map集合的遍历之键找值

1 package cn.itcast_01; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 import java.util.Set; 6 7 /* 8 * Map集合的遍历. 9 * Map -- 夫妻对 10 * 思路: 11 * A:把所有的丈夫给集中起来. 12 * B:遍历丈夫的集合,获取得到每一个丈夫. 13 * C:让丈夫去找自己的妻子. 14 * 15 * 转换: 16 * A:获取所有的键 17 * B:遍历键

Map以自定义类做为键值

map在STL中的定义 template <class Key, class T, class Compare = less<Key>, class Alloc = alloc> 第一个参数Key是关键字类型 第二个参数T是值类型 第三个参数Compare是比较函数(仿函数) 第四个参数是内存配置对象 map内部存储机制实际是以红黑树为基础,红黑树在插入节点时,必须依照大小比对之后在一个合适的位置上执行插入动作.所以作为关键字,起码必须有"<"这个比较操作

使用Java8 Stream API对Map按键或值进行排序

一.什么是Java 8 Stream 使用Java 8 Streams,我们可以按键和按值对映射进行排序.下面是它的工作原理: 将Map或List等集合类对象转换为Stream对象 使用Streams的sorted()方法对其进行排序 最终将其返回为LinkedHashMap(可以保留排序顺序) sorted()方法以Comparator作为参数,从而可以按任何类型的值对Map进行排序.如果对Comparator不熟悉,可以看本号前几天的文章,有一篇文章专门介绍了使用Comparator对Lis