用Javamap集合写一个省市区的增删改查
时间: 2023-05-15 07:05:28 浏览: 88
非常感谢您的问题!以下是使用 Java Map 集合实现省市区的增删改查的示例代码:
```java
import java.util.HashMap;
import java.util.Map;
public class ProvinceCityDistrict {
private Map<String, Map<String, String>> provinceCityDistrictMap;
public ProvinceCityDistrict() {
provinceCityDistrictMap = new HashMap<>();
}
public void addProvince(String provinceName) {
provinceCityDistrictMap.put(provinceName, new HashMap<>());
}
public void addCity(String provinceName, String cityName) {
if (!provinceCityDistrictMap.containsKey(provinceName)) {
System.out.println("省份不存在!");
return;
}
provinceCityDistrictMap.get(provinceName).put(cityName, "");
}
public void addDistrict(String provinceName, String cityName, String districtName) {
if (!provinceCityDistrictMap.containsKey(provinceName)) {
System.out.println("省份不存在!");
return;
}
Map<String, String> cityDistrictMap = provinceCityDistrictMap.get(provinceName);
if (!cityDistrictMap.containsKey(cityName)) {
System.out.println("城市不存在!");
return;
}
cityDistrictMap.put(districtName, "");
}
public void removeProvince(String provinceName) {
provinceCityDistrictMap.remove(provinceName);
}
public void removeCity(String provinceName, String cityName) {
if (!provinceCityDistrictMap.containsKey(provinceName)) {
System.out.println("省份不存在!");
return;
}
provinceCityDistrictMap.get(provinceName).remove(cityName);
}
public void removeDistrict(String provinceName, String cityName, String districtName) {
if (!provinceCityDistrictMap.containsKey(provinceName)) {
System.out.println("省份不存在!");
return;
}
Map<String, String> cityDistrictMap = provinceCityDistrictMap.get(provinceName);
if (!cityDistrictMap.containsKey(cityName)) {
System.out.println("城市不存在!");
return;
}
cityDistrictMap.remove(districtName);
}
public void printProvinceCityDistrict() {
for (String provinceName : provinceCityDistrictMap.keySet()) {
System.out.println(provinceName);
Map<String, String> cityDistrictMap = provinceCityDistrictMap.get(provinceName);
for (String cityName : cityDistrictMap.keySet()) {
System.out.println(" " + cityName);
for (String districtName : cityDistrictMap.keySet()) {
System.out.println(" " + districtName);
}
}
}
}
public static void main(String[] args) {
ProvinceCityDistrict pcd = new ProvinceCityDistrict();
pcd.addProvince("广东省");
pcd.addCity("广东省", "广州市");
pcd.addDistrict("广东省", "广州市", "天河区");
pcd.addDistrict("广东省", "广州市", "越秀区");
pcd.addCity("广东省", "深圳市");
pcd.addDistrict("广东省", "深圳市", "福田区");
pcd.printProvinceCityDistrict();
}
}
```
这个示例代码使用了一个 Map<String, Map<String, String>> 类型的变量来存储省市区的信息,其中外层的 String 表示省份名称,内层的 Map<String, String> 表示该省份下的城市和区县信息。在增加省份、城市和区县时,先判断上级省份或城市是否存在,如果不存在则输出错误信息。在删除省份、城市和区县时,直接调用 Map 的 remove 方法即可。最后,使用一个 printProvinceCityDistrict 方法来输出所有的省市区信息。
希望这个示例代码能够帮助您实现省市区的增删改查功能!