多个LIST集合 排序问题

A LIST
name core(day)
1班 2分
2班 3分
3班 5分
B LIST
name core(month)
1班 10分
2班 20分
3班 30分
C LIST

name core(year)
1班 110分
2班 120分
3班 120分

希望最后的结果是

D LIST

name core(day) core(month) core(year)
1班       2           10              110
2班       3           20              120
3班      5            30               120

qq_泽鸿电子商行_0
浏览 887回答 3
3回答

小草1434

对于这个问题,在基于面向对象的编程可以采取如下做法:定义一个班级分数的pojo类:ClassCore.javapublic class ClassCore{     private String name;     // 考虑到显示的内容有中文文字,故类型为String     private String dayCore;     private String montyCore;     private String yearCore;     // 省略getter/setter } public class ClassCoreList {     private String name;     private String core;     // 省略getter/setter }然后就是实际的逻辑方法:public void main(){     // 获取并整理成三个分数列表     // 调用deamMain(三个分数列表);     // 调用打印方法pring(list); } // 打印 public void print(List<ClassCore> list){     // 遍历列表并且打印格式自己调整 }; // 处理分数 public List<ClassCore> dealMain(         List<ClassCoreList> dayCoreList,         List<ClassCoreList> monthCoreList,         List<ClassCoreList> yearCoreList ){      List<ClassCore> list = new ArrayList();      Map<String,ClassCore> map= new HashMap<>();      map = dealList(map,dayCoreList,0);      map = dealList(map,monthCoreList,1);      map = dealList(map,yearCoreList,2);      for (Entry<String, Object> entry : map.entrySet()) {          list.add(entry.getValue());      }      return list; } // 将内容进行调整 public Map<ClassCore> dealList(Map<String,ClassCore> map,List<ClassCoreList> coreList,int flag){     if(map == null){         map= new HashMap<>();     }      ClassCore temp = null;     for(ClassCoreList classCore:dayCoreList ){         if(map.containsKey(classCore.getName())){             temp = map.get(classCore.getName());         }else {             temp = new ClassCore();             temp.setName(classCore.getName());         }         if(flag==0){             temp.dayCore(classCore.getCore);         }else if(flag==1){             temp.monthCore(classCore.getCore);         }else if(flag==2){             temp.yearCore(classCore.getCore);         }         map.put(temp);     }     return map; }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java