将一个List<Map<String,Object>>对象按照其中Map的某个key的值进行分组并降序排列。如有这样一个list:
List<Map<String,Object>> 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");}});
}};
此list直接打印结果如下:
[{=0,a=1},{b=2,a=11},{c=3,a=111},{b=22},{b=222,a=1111}]
执行上述算法后打印结果如下:
{1111=[{b=222,a=1111}],111=[{c=3,a=111}],11=[{b=2,a=11}],1=[{=0,a=1}]}此结果是按照上述key="a"运算得到的。
(1)请写一个私有的静态方法完成算法,此算法至少包含参数List<Map<String,Object>>dataList和String key,实际传入dataList为List<Map<String,String>>类型
(2)上述示例中,如果传入key="",请写出最终打印结果
使用TreeMap 存放元素并排序,以下代码仅供参考:
package com.kidd.test.zhidao;