版权声明:本文为CSDN博主「ZeusLuna」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/leipeng321123/article/details/90756298
1.省市地区数据结构
2.java8使用Lambda处理数据生成三级数据结构
1.省市地区数据结构
数据表结构
CREATE TABLE `sys_region` (
`region_id` varchar(10) NOT NULL COMMENT '地区主键编号',
`region_name` varchar(50) NOT NULL COMMENT '地区名称',
`region_short_name` varchar(10) DEFAULT NULL COMMENT '地区缩写',
`region_code` varchar(20) DEFAULT NULL COMMENT '行政地区编号',
`region_parent_id` varchar(10) DEFAULT NULL COMMENT '地区父id',
`region_level` int(2) DEFAULT NULL COMMENT '地区级别 1-省、自治区、直辖市 2-地级市、地区、自治州、盟 3-市辖区、县级市、县',
PRIMARY KEY (`region_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='地区表';
2.java8使用Lambda处理数据生成三级数据结构
public List<Region> findAllRegion(){
//查询省市地区所有数据
List<Region> regionList = dao.findAllRegion();
//获得一级地区 省、自治区、直辖市
List<Region> oneLevelRegion = regionList.stream().filter(item -> item.getRegionLevel() == 1).collect(Collectors.toList());
//遍历一级地区
oneLevelRegion.stream().forEach( oneItem ->
{
//获得二级地区 地级市、地区、自治州、盟
List<Region> twoLevelRegion = regionList.stream().filter(twoItem ->
twoItem.getRegionLevel() == 2 && StringUtils.equals(twoItem.getRegionParentId(), oneItem.getRegionId()))
.collect(Collectors.toList());
//遍历二级地区
twoLevelRegion.stream().forEach( twoItem ->
{
//获得三级地区 市辖区、县级市、县
List<Region> threeLevelRegion = regionList.stream().filter(threeItem ->
threeItem.getRegionLevel() == 3 && StringUtils.equals(threeItem.getRegionParentId(), twoItem.getRegionId()))
.collect(Collectors.toList());
twoItem.setRegionList(threeLevelRegion);
});
oneItem.setRegionList(twoLevelRegion);
}
);
return oneLevelRegion;
}
返回数据结构
{
"id": null,
"createBy": null,
"createDate": null,
"updateBy": null,
"updateDate": null,
"pageNo": null,
"pageSize": null,
"regionId": "1000026",
"regionName": "陕西省",
"regionShortName": "陕、秦",
"regionCode": "610000",
"regionParentId": "-1",
"regionLevel": 1,
"regionList": [
{
"id": null,
"createBy": null,
"createDate": null,
"updateBy": null,
"updateDate": null,
"pageNo": null,
"pageSize": null,
"regionId": "1002805",
"regionName": "西安市",
"regionShortName": null,
"regionCode": "610100",
"regionParentId": "1000026",
"regionLevel": 2,
"regionList": [
{
"id": null,
"createBy": null,
"createDate": null,
"updateBy": null,
"updateDate": null,
"pageNo": null,
"pageSize": null,
"regionId": "1002806",
"regionName": "未央区",
"regionShortName": null,
"regionCode": "610112",
"regionParentId": "1002805",
"regionLevel": 3,
"regionList": null
},
{
"id": null,
"createBy": null,
"createDate": null,
"updateBy": null,
"updateDate": null,
"pageNo": null,
"pageSize": null,
"regionId": "1002807",
"regionName": "新城区",
"regionShortName": null,
"regionCode": "610102",
"regionParentId": "1002805",
"regionLevel": 3,
"regionList": null
},
{
"id": null,
"createBy": null,
"createDate": null,
"updateBy": null,
"updateDate": null,
"pageNo": null,
"pageSize": null,
"regionId": "1002808",
"regionName": "碑林区",
"regionShortName": null,
"regionCode": "610103",
"regionParentId": "1002805",
"regionLevel": 3,
"regionList": null
},
{
"id": null,
"createBy": null,
"createDate": null,
"updateBy": null,
"updateDate": null,
"pageNo": null,
"pageSize": null,
"regionId": "1002809",
"regionName": "莲湖区",
"regionShortName": null,
"regionCode": "610104",
"regionParentId": "1002805",
"regionLevel": 3,
"regionList": null
},
{
"id": null,
"createBy": null,
"createDate": null,
"updateBy": null,
"updateDate": null,
"pageNo": null,
"pageSize": null,
"regionId": "1002810",
"regionName": "灞桥区",
"regionShortName": null,
"regionCode": "610111",
"regionParentId": "1002805",
"regionLevel": 3,
"regionList": null
},
{
"id": null,
"createBy": null,
"createDate": null,
"updateBy": null,
"updateDate": null,
"pageNo": null,
"pageSize": null,
"regionId": "1002811",
"regionName": "雁塔区",
"regionShortName": null,
"regionCode": "610113",
"regionParentId": "1002805",
"regionLevel": 3,
"regionList": null
},
{
"id": null,
"createBy": null,
"createDate": null,
"updateBy": null,
"updateDate": null,
"pageNo": null,
"pageSize": null,
"regionId": "1002812",
"regionName": "阎良区",
"regionShortName": null,
"regionCode": "610114",
"regionParentId": "1002805",
"regionLevel": 3,
"regionList": null
},
{
"id": null,
"createBy": null,
"createDate": null,
"updateBy": null,
"updateDate": null,
"pageNo": null,
"pageSize": null,
"regionId": "1002813",
"regionName": "临潼区",
"regionShortName": null,
"regionCode": "610115",
"regionParentId": "1002805",
"regionLevel": 3,
"regionList": null
},
{
"id": null,
"createBy": null,
"createDate": null,
"updateBy": null,
"updateDate": null,
"pageNo": null,
"pageSize": null,
"regionId": "1002814",
"regionName": "长安区",
"regionShortName": null,
"regionCode": "610116",
"regionParentId": "1002805",
"regionLevel": 3,
"regionList": null
},
{
"id": null,
"createBy": null,
"createDate": null,
"updateBy": null,
"updateDate": null,
"pageNo": null,
"pageSize": null,
"regionId": "1002815",
"regionName": "高陵区",
"regionShortName": null,
"regionCode": "610117",
"regionParentId": "1002805",
"regionLevel": 3,
"regionList": null
},
{
"id": null,
"createBy": null,
"createDate": null,
"updateBy": null,
"updateDate": null,
"pageNo": null,
"pageSize": null,
"regionId": "1002816",
"regionName": "鄠邑区",
"regionShortName": null,
"regionCode": "610118",
"regionParentId": "1002805",
"regionLevel": 3,
"regionList": null
},
{
"id": null,
"createBy": null,
"createDate": null,
"updateBy": null,
"updateDate": null,
"pageNo": null,
"pageSize": null,
"regionId": "1002817",
"regionName": "蓝田县",
"regionShortName": null,
"regionCode": "610122",
"regionParentId": "1002805",
"regionLevel": 3,
"regionList": null
},
{
"id": null,
"createBy": null,
"createDate": null,
"updateBy": null,
"updateDate": null,
"pageNo": null,
"pageSize": null,
"regionId": "1002818",
"regionName": "周至县",
"regionShortName": null,
"regionCode": "610124",
"regionParentId": "1002805",
"regionLevel": 3,
"regionList": null
}
]
}
]
}
————————————————
版权声明:本文为CSDN博主「ZeusLuna」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/leipeng321123/article/details/90756298