如何处理爬取的行政级(省市县)数据?

Map<String,Region> map = new HashMap<>();
// 遍历数据
for (Region region : areaList) {
map.put(region.getCode(), region);
}
List<Region> regions = new ArrayList<>();

for (Region value : map.values()) {
String parentCode = value.getParent();
// 如果是省级存放list 中断循环处理该省级子集
if (parentCode.equals("0")){
regions.add(value);
continue;
}
// 通过子项的父id获取父项 处理该省级的子集合
if (map.containsKey(parentCode)){
// 循环给省级进行存放子节点 直到下一次省级
Region region = map.get(parentCode);
region.addChild(value);
}
}
个人理解:因为爬取数据是自然排好序的 直接通过子项父id获取父项 不断给父项子集合赋值 直到下一个父项出现。
posted @ 2022-04-15 14:30  暗影霹雳神  阅读(32)  评论(0编辑  收藏  举报