map分组后取前10个_将一个List<Map<String,Object>>对象按照其中Map的某个key的值进行分组并降序排列。如有这样一个list:...

本文展示了如何使用Java的TreeMap对一个包含Map对象的List进行分组,并按照Map中特定key的值进行降序排列。通过创建自定义Comparator,实现了根据'a'键的值对分组后的Map进行排序,并获取前10个结果。
摘要由CSDN通过智能技术生成

展开全部

使用TreeMap 存放元素并排序,以下代码仅供参考:package com.kidd.test.zhidao;

import java.net.MalformedURLException;

import java.util.ArrayList;

import java.util.Comparator;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.TreeMap;

public class Test {

public static void main(String[] args) throws ClassNotFoundException, MalformedURLException {

62616964757a686964616fe59b9ee7ad9431333365633934List> list = null;

list = instance(list);

System.out.println(list);

System.out.println(grouping(list, "a"));

}

private static Map grouping(List> list, String key) {

// 使用TreeMap存放元素并排序

Map newMap = new TreeMap<>(new Comparator() {

@Override

public int compare(String o1, String o2) {

return o2.compareTo(o1);

}

});

list.stream().forEach(m -> {

if (m.containsKey(key)) {

List l = new ArrayList<>();

l.add(m);

newMap.put(m.get(key).toString(), l);

}

});

;

return newMap;

}

private static List> instance(List> list) {

list = new ArrayList() {

{

add(new HashMap() {

{

put("a", "1");

put("", "0");

}

});

add(new HashMap() {

{

put("a", "a11");

put("b", "2");

}

});

add(new HashMap() {

{

put("a", "111");

put("c", "3");

}

});

add(new HashMap() {

{

put("b", "22");

}

});

add(new HashMap() {

{

put("a", "1111");

put("b", "222");

}

});

}

};

return list;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值