如圖:
代碼:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
public class Test1 {
public static void main(String[] args) {
//雲南省的 - 市
ArrayList<String> ynCity = new ArrayList<>();
ynCity.add("昆明市");
ynCity.add("昭通市");
ynCity.add("大理市");
ynCity.add("麗江市");
//湖南省的 - 市
ArrayList<String> hnCity = new ArrayList<>();
hnCity.add("長沙市");
hnCity.add("岳陽市");
hnCity.add("常德市");
hnCity.add("永州市");
//將市 和 區 存入Map集合
HashMap<String, ArrayList<String>> provinceCity = new HashMap<String, ArrayList<String>>();
provinceCity.put("雲南省",ynCity);
provinceCity.put("湖南省",hnCity);
//將省和市存入countries Map集合中
HashMap<String, HashMap<String,ArrayList<String>>> countries = new HashMap<String,HashMap<String,ArrayList<String>>>();
countries.put("中國",provinceCity);
// countries.put("美國",provinceCity);//這裏只寫了中國的省和市這行註釋掉
Set<String> countriesMapkey = countries.keySet();//得到Map 集合 countries的鍵 存入countriesMapkey中
Iterator it1 = countriesMapkey.iterator();//用鍵創建一個迭代器
while (it1.hasNext()) {
Object countriesMapkeys = it1.next();//遍歷得到鍵集合存入countriesMapkeys
System.out.println(countriesMapkeys);
HashMap<String, ArrayList<String>> countriesMapValue = countries.get(countriesMapkeys);//得到鍵集合對應的值存入countriesMapValue
Set<String> provinceCityMapKey = countriesMapValue.keySet();//得到Map集合中provinceCity的鍵
Iterator it2 = provinceCityMapKey.iterator();//創建一個迭代器
while (it2.hasNext()) {
Object provinceCityMapKeys = it2.next();//得到Map 集合 provinceCity的鍵 存入countriesMapkey中
System.out.println(" "+provinceCityMapKeys);
ArrayList<String> provinceCityValue = provinceCity.get(provinceCityMapKeys);//得到provinceCity的鍵對應的值集合
for (int i = 0; i < provinceCityValue.size(); i++) {
System.out.println(" "+provinceCityValue.get(i));//循環輸出provinceCity的值
}
}
}
}
}