JavaSE——集合框架二(6/6)-(案例)补充知识:集合的嵌套(需求与分析、问题解决、运行测试)

目录

案例引入

需求与分析

问题解决

运行测试


集合的嵌套

  • 顾名思义,指的是集合中的元素又是一个集合。

本篇通过一个案例对这一知识进行了解:

案例引入

需求与分析

  • 要求在程序中记住如下省份和其对应的城市信息,记录成功后,要求可以查询出湖北省的城市信息。

江苏省 = 南京市,扬州市,苏州市,无锡市,常州市

湖北省 = 武汉市,孝感市,十堰市,宜昌市,鄂州市

河北省 = 石家庄市,唐山市,邢台市,保定市,张家口市

分析

  • 定义一个Map集合,键表示省份名称,值表示城市名称,注意:城市会有多个。
  • 根据"湖北省"这个键获取对应的值进行展示即可。

问题解决

java 复制代码
package user.Map;

import java.util.*;

public class Test {
    public static void main(String[] args){
        //1.定义一个Map集合,键表示省份名称,值表示城市名称,注意:城市会有多个。
        Map<String, List<String>> map = new HashMap<>();

        List<String> cities1 = new ArrayList<>();
        Collections.addAll(cities1,"南京市","扬州市","苏州市","无锡市","常州市");
        map.put("江苏省",cities1);

        List<String> cities2 = new ArrayList<>();
        Collections.addAll(cities2,"武汉市","孝感市","十堰市","宜昌市","鄂州市");
        map.put("湖北省",cities2);

        List<String> cities3 = new ArrayList<>();
        Collections.addAll(cities3,"石家庄市","唐山市","邢台市","保定市","张家口市");
        map.put("河北省",cities3);

        System.out.println(map);
        System.out.println("--------------");

        //2.展示湖北省的城市
        List<String> cities = map.get("湖北省");
        for(String city : cities){
            System.out.println(city);
        }
        System.out.println("--------------");
        
        //3.遍历整个Map集合
        map.forEach((p,c)-> System.out.println(p + "-------->" + c));
    }
}

第一部分确认将所有城市都写进了Map集合中:

第二部分查询湖北省的城市:

运行测试

也可以对Map整个集合进行遍历:

运行结果:

关于Map集合的部分暂时就结束了,接下来将会介绍JDK8的新特性------Stream流。


END


学习自:黑马程序员------JavaSE课程

相关推荐
Envyᥫᩣ1 分钟前
C#语言:从入门到精通
开发语言·c#
齐 飞9 分钟前
MongoDB笔记01-概念与安装
前端·数据库·笔记·后端·mongodb
狂放不羁霸17 分钟前
idea | 搭建 SpringBoot 项目之配置 Maven
spring boot·maven·intellij-idea
九圣残炎18 分钟前
【从零开始的LeetCode-算法】1456. 定长子串中元音的最大数目
java·算法·leetcode
wclass-zhengge20 分钟前
Netty篇(入门编程)
java·linux·服务器
童先生22 分钟前
Go 项目中实现类似 Java Shiro 的权限控制中间件?
开发语言·go
lulu_gh_yu23 分钟前
数据结构之排序补充
c语言·开发语言·数据结构·c++·学习·算法·排序算法
丫头,冲鸭!!!43 分钟前
B树(B-Tree)和B+树(B+ Tree)
笔记·算法
Re.不晚1 小时前
Java入门15——抽象类
java·开发语言·学习·算法·intellij-idea
老秦包你会1 小时前
Qt第三课 ----------容器类控件
开发语言·qt