展开全部
使用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;
}
}