public static void main(String[] args) {
List<Map<String,String>> list1 = new ArrayList<>();
Map<String,String> map11 = new HashMap();
map11.put("hjje", "520.00");
map11.put("dan_no", "YSQ2022102");
Map<String,String> map12 = new HashMap();
map12.put("hjje", "351.02");
map12.put("dan_no", "YSQ202206");
list1.add(map11);
list1.add(map12);
List<Map<String,String>> list2 = new ArrayList<>();
Map<String,String> map21 = new HashMap();
map21.put("shum", "JAVA");
map21.put("dan_no", "YSQ202206");
Map<String,String> map22 = new HashMap();
map22.put("shum", "C++");
map22.put("dan_no", "YSQ2022102");
Map<String,String> map23 = new HashMap();
map23.put("shum", "PHP");
map23.put("dan_no", "YSQ202206");
list2.add(map21);
list2.add(map22);
list2.add(map23);
List<Map<String,String>> list3 = new ArrayList<>();
Map<String,String> map31 = new HashMap();
map31.put("nj", "三年级二班");
map31.put("dan_no", "YSQ202206");
Map<String,String> map32 = new HashMap();
map32.put("nj", "二年级一班");
map32.put("dan_no", "YSQ2022102");
Map<String,String> map33 = new HashMap();
map33.put("nj", "三年级四班");
map33.put("dan_no", "YSQ202206");
list3.add(map31);
list3.add(map32);
list3.add(map33);
List<Map<String, String>> collect2 = list1.stream().map(m1 -> {
List<String> collect = list2.stream().filter(f -> m1.get("dan_no").equals(f.get("dan_no"))).map(fe -> {
String shum = fe.get("shum").toString();
return shum;
}).collect(Collectors.toList());
String join = String.join(",", collect);
m1.put("shum", join);
List<String> collect1 = list3.stream().filter(f -> m1.get("dan_no").equals(f.get("dan_no"))).map(fe -> {
String shum = fe.get("nj").toString();
return shum;
}).collect(Collectors.toList());
String nj = String.join(",", collect1);
m1.put("nj", nj);
return m1;
}).collect(Collectors.toList());
System.out.println(collect2);
}