Java 递归查询省市县
时间: 2023-08-13 19:06:52 浏览: 88
java获取省市县数据
在Java中,可以使用递归来查询省市县的层级关系。假设有一个地区的数据结构如下:
```java
class Area {
String name;
List<Area> subAreas;
}
```
可以定义一个递归函数来查询省市县的层级关系,例如:
```java
public class AreaUtils {
public static void main(String[] args) {
// 假设已经有了一个地区列表数据
List<Area> areas = getAreaData();
// 查询省市县
List<Area> provinces = getProvinces(areas);
for (Area province : provinces) {
System.out.println(province.name);
List<Area> cities = getCities(province);
for (Area city : cities) {
System.out.println("\t" + city.name);
List<Area> counties = getCounties(city);
for (Area county : counties) {
System.out.println("\t\t" + county.name);
}
}
}
}
public static List<Area> getProvinces(List<Area> areas) {
List<Area> provinces = new ArrayList<>();
for (Area area : areas) {
if (area.name.endsWith("0000")) {
provinces.add(area);
}
}
return provinces;
}
public static List<Area> getCities(Area province) {
return province.subAreas;
}
public static List<Area> getCounties(Area city) {
return city.subAreas;
}
// 获取地区数据的方法
public static List<Area> getAreaData() {
// TODO: 返回地区数据列表
}
}
```
这里假设地区数据已经存在,并且省级的地区编码以 "0000" 结尾,市级的地区编码不以 "0000" 结尾,县级的地区编码不以 "0000" 结尾。通过递归的方式,可以依次查询出所有的省市县层级关系。
需要注意的是,这里只是一个简单的示例,实际情况中可能需要根据具体的数据结构和业务需求进行相应的调整和扩展。
阅读全文