获取地市层级结构

版权声明:@hongyeofLZD https://blog.csdn.net/u010808135/article/details/87709144

在开发中常用到层级(树)结构生成,这里自己也整理了一下,结合我的下载资源文件:国家地理地区代码(自己整理成的可直接导入数据库的文件,仅包含省和地市)。
注:数据库中有自己的函数可以直接查询出树结构的结果,这里仅有代码将list集合数据转化为树结构数据

获取地市集合结构数据:
List list = ***Mapper.getAreaList(areaCodeView);
treeMenuList(list,“1”); //1在这里代表全国

层级结构:普通的递归方法
public List treeMenuList(List list, String parentId) {
List childMenu = new ArrayList<>();
for (AreaCodeView areaCodeView : list) {
String menuId = areaCodeView.getAreaCode();
String pid = areaCodeView.getpCode();
if (parentId.equals(pid)) {
List c_node = treeMenuList(list, menuId);
areaCodeView.setChild(c_node);
childMenu.add(areaCodeView);
}
}
return childMenu;
}

地市实体:地区信息
public class AreaCodeView {
private String id;
private String areaCode;//地区编码
private String areaName;//地区名称
private String pCode;//上级地区编码
private List child;

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

public String getAreaCode() {
    return areaCode;
}

public void setAreaCode(String areaCode) {
    this.areaCode = areaCode;
}

public String getAreaName() {
    return areaName;
}

public void setAreaName(String areaName) {
    this.areaName = areaName;
}

public String getpCode() {
    return pCode;
}

public void setpCode(String pCode) {
    this.pCode = pCode;
}

public List<AreaCodeView> getChild() {
    return child;
}

public void setChild(List<AreaCodeView> child) {
    this.child = child;
}

}

猜你喜欢

转载自blog.csdn.net/u010808135/article/details/87709144
今日推荐