// 省集合 let ps = pca.filter(d => !d.provinceCode && !d.cityCode); // 市集合 let cs = pca.filter(d => d.provinceCode && !d.cityCode); // 区集合 let as = pca.filter(d => d.cityCode); // 目标数据: 省市区父子关系树形数据 let list = ps.map(p => ({ ...p, label: p.name, value: p.name, children: cs.map(c => ({ ...c, label: c.name, value: c.name, children: as.filter(a => a.cityCode.toString() == c.code), // 从市过滤出区 })).filter(c => c.provinceCode == p.code), // 从省过滤出市 })); console.log(list);转java代码
时间: 2024-02-28 10:55:37 浏览: 74
pca-code.json_studentume_pca-code_pca-code.json_省市区json数据_pca.js
以下是将 JavaScript 代码转化为 Java 代码的示例:
```java
// 省集合
List<Place> ps = pca.stream().filter(d -> d.provinceCode == null && d.cityCode == null).collect(Collectors.toList());
// 市集合
List<Place> cs = pca.stream().filter(d -> d.provinceCode != null && d.cityCode == null).collect(Collectors.toList());
// 区集合
List<Place> as = pca.stream().filter(d -> d.cityCode != null).collect(Collectors.toList());
// 目标数据: 省市区父子关系树形数据
List<Map<String, Object>> list = ps.stream().map(p -> {
Map<String, Object> map = new HashMap<>();
map.put("name", p.getName());
map.put("label", p.getName());
map.put("value", p.getName());
map.put("children", cs.stream().filter(c -> c.getProvinceCode() == p.getCode()).map(c -> {
Map<String, Object> map1 = new HashMap<>();
map1.put("name", c.getName());
map1.put("label", c.getName());
map1.put("value", c.getName());
map1.put("children", as.stream().filter(a -> a.getCityCode().toString().equals(c.getCode())).map(a -> {
Map<String, Object> map2 = new HashMap<>();
map2.put("name", a.getName());
map2.put("label", a.getName());
map2.put("value", a.getName());
return map2;
}).collect(Collectors.toList()));
return map1;
}).collect(Collectors.toList()));
return map;
}).collect(Collectors.toList());
System.out.println(list);
```
该代码使用了 Java 8 的 Lambda 表达式和流式 API 实现了与 JavaScript 代码相同的逻辑。需要注意的是,Java 中的集合和数组的访问方式与 JavaScript 不同,需要根据具体的对象结构进行修改。
阅读全文