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课程

相关推荐
牛油果子哥q8 小时前
队列(Queue)深度精讲,先进先出原理、顺序/链式/循环队列、STL queue底层、栈队列互模拟与面试考点全解
开发语言·c++·面试
聆风吟º8 小时前
【Python编程日志】Python基础数据类型完整梳理
开发语言·python·数据类型
Mahir088 小时前
ConcurrentHashMap 底层原理深度解密:从分段锁到 CAS + 红黑树的演进全解
java·面试·concurhashmap
LuminousCPP8 小时前
数据结构 - 单链表第二篇:单链表进阶操作
c语言·数据结构·笔记·链表
阿维的博客日记8 小时前
那用到动态代理,关键的特征又是什么呢
java·动态代理
承渊政道8 小时前
【MySQL数据库学习】(MySQL内置函数)
数据库·学习·mysql·ubuntu·bash·数据库开发·数据库系统
都说名字长不会被发现8 小时前
Spring Boot Starter 中间件账号密码加密方案设计与实现
java·spring boot·后端·中间件
摇滚侠8 小时前
Maven 依赖范围
java·maven
AKA__Zas8 小时前
芝士算法(滑动窗口片 2.0)
java·算法·leetcode·学习方法
keykey6.8 小时前
逻辑回归:从回归到分类
开发语言·人工智能·机器学习