案例:
将下面提供的List做处理,打印出以下输出 :
{a=[{a=1111}, {a=111}, {a=11}, {a=1}], b=[{b=222}, {b=22}, {b=2}], c=[{c=3}, {c=1}]}
或
{a=[a=1111, a=111, a=11, a=1], b=[b=222, b=22, b=2], c=[c=3, c=1]}
List<Map<String, Integer>> list = new ArrayList<Map<String, Integer>>() {{ add(new HashMap<String, Integer>() {{ put("a", 1);put("c", 3); }}); add(new HashMap<String, Integer>() {{ put("a", 11);put("b", 2); }}); add(new HashMap<String, Integer>() {{ put("a", 111);put("c", 1); }}); add(new HashMap<String, Integer>() {{ put("b", 22); }}); add(new HashMap<String, Integer>() {{ put("a", 1111);put("b", 222); }}); }};
以上的案例题,可以看到我们主要需要做的有以下几步:
1.遍历List
2.遍历Map
3.筛选 a/b/c
4.排序
那么在不使用Stream操作,我们需要将上述的思想用普通的方式实现,那么是这样的(本人简单地写了下,也许存在不足和缺陷,见谅):
非Stream 解法