问题遇到的现象和发生背景
关于对List求得分组的问题,如何对List对象内的内容进行分组,分组后转为Map方便操作
问题相关
大概数据结构是这样的
数据行:
第一行:行号10,存货001,MS行号01;
第二行:行号10,存货001,MS行号02;
第三行:行号10,存货001,MS行号03;
第四行:行号20,存货002,MS行号04;
第五行:行号30,存货003,MS行号05;
第六行:行号30,存货003,MS行号06;
第七行:行号40,存货004,MS行号07;
模拟对象代码,暂时用map代替了:
List<Map<String,String>> list = new ArrayList<>();
Map<String,String> map1 = new HashMap<>();
map1.put("lineNo", "10");
map1.put("suid", "001");
map1.put("ms", "01");
list.add(map1);
Map<String,String> map2= new HashMap<>();
map2.put("lineNo", "10");
map2.put("suid", "001");
map2.put("ms", "02");
list.add(map2);
Map<String,String> map3= new HashMap<>();
map3.put("lineNo", "10");
map3.put("suid", "001");
map3.put("ms", "03");
list.add(map3);
Map<String,String> map4= new HashMap<>();
map4.put("lineNo", "20");
map4.put("suid", "002");
map4.put("ms", "04");
list.add(map4);
Map<String,String> map5= new HashMap<>();
map5.put("lineNo", "30");
map5.put("suid", "003");
map5.put("ms", "05");
list.add(map5);
Map<String,String> map6= new HashMap<>();
map6.put("lineNo", "30");
map6.put("suid", "003");
map6.put("ms", "06");
list.add(map6);
Map<String,String> map7= new HashMap<>();
map7.put("lineNo", "40");
map7.put("suid", "004");
map7.put("ms", "07");
list.add(map7);
我的解答思路和尝试过的方法
由于客户环境是JDK1.7的,我想不到好的解决办法,希望帮个忙解答一下。
我想要达到的结果
我希望将以上数据行分组后转为以下结构,方便我对分组后的内容进行操作。
Map<行号+存货,List<数据行>> map = new HashMap<String , List<数据行>>();
Map<String, List<Map<String,String>>> map = new HashMap<>();