编写Java程序,使用List集合和Map集合输出 市和区

简介: 编写Java程序,使用List集合和Map集合输出 市和区

如图:


16.png


代码:

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的值
          }
        }
      }
    }
}
相关文章
|
29天前
|
Java
java程序导出堆文件
java程序导出堆文件
|
1月前
|
SQL Oracle Java
sql文件批处理程序-java桌面应用
sql文件批处理程序-java桌面应用
24 0
|
1月前
|
存储 Java
Java:编写程序,计算两个数的和、差、积、商和余数。docx
Java:编写程序,计算两个数的和、差、积、商和余数。docx
|
17天前
|
Java
java8中List对象转另一个List对象
java8中List对象转另一个List对象
35 0
|
4天前
|
Java Maven
【Java报错】显示错误“Error:java: 程序包org.springframework.boot不存在“
【Java报错】显示错误“Error:java: 程序包org.springframework.boot不存在“
23 3
|
3天前
|
存储 算法 安全
Java Map:键值对的奇妙之旅
Java Map:键值对的奇妙之旅
24 0
Java Map:键值对的奇妙之旅
|
18天前
Cause: java.sql.SQLIntegrityConstraintViolationException: Column ‘id‘ in field list is ambiguous
Cause: java.sql.SQLIntegrityConstraintViolationException: Column ‘id‘ in field list is ambiguous
11 0
|
19天前
|
Java
elasticsearch使用java程序添加删除修改
elasticsearch使用java程序添加删除修改
9 0
|
26天前
|
Java
java程序
re是java运行时的环境,包含jvm和运行时所需要的类库 jdk是java开的程序包,包含jre和开发人员使用的工具 jvm就是我们常说的java虚拟机,他是整个java实现跨平台的最核心 的部分,所有的java程序会首先被编译为.class的类文件,这种类文 件可以在虚拟机上执行。也就是说class并不直接与机器的操作系统 相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释 给本地系统执行。 只有jvm还不能成class的执行,因为再解释class的时候jvm需要调用 解释所需要的类库lib,而jre包含lib类库。jvm屏蔽了与具体操作系 统平台相关的信息,使得java程
15 0
|
1月前
|
Java
JAVA——List中剔除空元素(null)的三种方法汇总
JAVA——List中剔除空元素(null)的三种方法汇总