编写Java程序,以树形结构显示国家-直辖市/省/州信息

简介: 编写Java程序,以树形结构显示国家-直辖市/省/州信息

需求说明:


以树形结构显示国家-直辖市/省/州信息    


20.png


实现思路:


创建显示树形结构的类Tree,在该类中定义Map类型的全局实例属性countryMap,该Map集合用于存放所有国家与其管辖的直辖市/省/州之间的映射关系。其中key为String类型,代表“国家”数据,value为List集合对象,该集合存放String类型的“直辖市/省/州”数据。


生成countryMap对象


Map<String,List<String>> countryMap= new HashMap<String,List<String>>();


往countryMap对象添加映射对数据


countryMap.put("中国", chinaProvince);


实现代码:

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的值
          }
        }
      }
    }
}
相关文章
|
2天前
|
存储 网络协议 Java
本地MinIO存储服务通过Java程序结合cpolar实现远程连接上传文件
本地MinIO存储服务通过Java程序结合cpolar实现远程连接上传文件
|
4天前
|
存储 Java 开发工具
【Java探索之旅】用面向对象的思维构建程序世界
【Java探索之旅】用面向对象的思维构建程序世界
9 0
|
5天前
|
小程序 Java 程序员
【Java探索之旅】我与Java的初相识(二):程序结构与运行关系和JDK,JRE,JVM的关系
【Java探索之旅】我与Java的初相识(二):程序结构与运行关系和JDK,JRE,JVM的关系
16 0
|
5天前
|
数据采集 存储 前端开发
Nutch库入门指南:利用Java编写采集程序,快速抓取北京车展重点车型
2024年北京车展凸显电动车全球热度,中国引领市场,展出117台全球首发车,包括30台跨国公司电动车。借助Nutch库抓取汽车网站数据,分析电动车市场趋势。通过配置代理和多线程爬虫,高效收集新车信息,助力理解市场动态,推动可持续交通发展。
Nutch库入门指南:利用Java编写采集程序,快速抓取北京车展重点车型
|
5天前
|
Oracle Java 关系型数据库
Java历史简述及程序运行机制简述
Java起源于1991年Sun公司James Gosling领导的Green项目,最初命名为Oak,后因爪哇岛咖啡更名为Java。1995年正式发布,2009年Sun被Oracle收购。Java程序运行包括:开发源代码、编译成字节码、JVM翻译为平台兼容的机器码执行。
|
6天前
|
监控 Java BI
java基于云计算的SaaS医院his信息系统源码 HIS云平台源码
基于云计算技术的B/S架构的HIS系统源码,SaaS模式Java版云HIS系统,融合B/S版电子病历系统,支持电子病历四级,HIS与电子病历系统均拥有自主知识产权。
27 5
|
10天前
|
Java
网页运行java程序cheerpj
网页运行java程序cheerpj
34 0
|
10天前
|
Rust Java 编译器
面试官:说一说你的第一个Java程序是怎么跑起来的?
面试官:说一说你的第一个Java程序是怎么跑起来的?
16 3
|
11天前
|
Java Unix Linux
【Java基础】数据类型以及程序执行过程浅析
【Java基础】数据类型以及程序执行过程浅析
20 0
|
15天前
|
缓存 负载均衡 前端开发
构建高性能 Java Web 应用程序
【4月更文挑战第19天】构建高性能 Java Web 应用涉及数据库优化(合理设计、查询优化、性能调优)、缓存策略(服务器端缓存、HTTP 缓存)、代码优化(避免冗余查询、减少对象创建、有效使用线程)、异步处理(增强并发能力)、负载均衡(分发请求、提升可靠性)、性能测试与监控(发现瓶颈、实时问题)、前端优化(减少加载时间、优化资源)、服务器配置(硬件资源、系统优化)以及代码压缩和资源合并。综合运用这些技术,能显著提升应用性能和用户体验。