// 假设 ccmdbCarWeizis 是一个包含 CarWeizi 对象的列表 ccmdbCarWeizis.forEach(carWeizi -> { // 提取 CarWeizi 对象的 carInformation 属性的前三个字符作为省份简称 String label = carWeizi.getCarInformation().substring(0, 3); // 检查 groupedMap 是否已经包含这个省份简称作为键 if (!groupedMap.containsKey(label)) { // 如果不包含,将这个简称作为键,并将一个新的空 ArrayList<Dirver> 作为值添加到 groupedMap 中 groupedMap.put(label, new ArrayList<>()); } // 获取 groupedMap 中与省份简称关联的 Dirver 对象列表 List<Dirver> existingList = groupedMap.get(label); // 创建一个新的 Dirver 对象,其 id 为 1,label 为 carWeizi 的 carCodeNumber existingList.add(new Dirver(1, carWeizi.getCarCodeNumber())); }); // 初始化一个用于存储 ToolCode 对象的列表 List<ToolCode> arrayList = new ArrayList<>(); // 遍历 groupedMap 的所有条目 for (Map.Entry<String, List<Dirver>> entry : groupedMap.entrySet()) { // 对于每个条目,创建一个新的 ToolCode 对象 ToolCode code = new ToolCode(); // 设置 ToolCode 对象的 children 属性为当前条目的值(即对应省份的 Dirver 列表) code.setChildren(entry.getValue()); // 设置 ToolCode 对象的 id 属性为 1 code.setId(1); // 设置 ToolCode 对象的 label 属性为当前条目的键(即省份简称) code.setLabel(entry.getKey()); // 将新创建的 ToolCode 对象添加到 arrayList 中 arrayList.add(code); }
标签:code,ToolCode,Dirver,对象,合并,value,label,key,groupedMap From: https://www.cnblogs.com/188221creat/p/18231245