8.13Java入门--->第十九节(Map嵌套)
1、Map
存储键值对,映射关系集合
KEY不可以重复,Key重复覆盖原先的值
map的遍历,Set set= map.entrySet,遍历set,一个entry保存一组键值对
Set set= map.keySet,遍历set ,map.get(key)
map.containKey、map.containValue(map是否包含当前值,或当前Value)
LinkedHashMap:存储有序
Hash Map:无序()
properties :操作属性文件,Mybatis ->db.properties
TreeMap:排序,和TreeSet一样的
map嵌套,循环输出
package com.xian; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; public class Test81304 { public static void main(String[] args) { Map city=new HashMap(); Map spaceShangHai=new HashMap(); spaceShangHai.put("普陀区","伊敏路"); spaceShangHai.put("闵行区","南京东路"); spaceShangHai.put("松江区","幸福里路"); spaceShangHai.put("浦东区","赤峰路"); Map spaceBeijing=new HashMap(); spaceBeijing.put("大兴区","机场"); spaceBeijing.put("昌平区","火车站"); spaceBeijing.put("朝阳区","新发地"); spaceBeijing.put("燕山区","大学城"); city.put("北京",spaceBeijing); city.put("上海",spaceShangHai); Entry(city); } public static void Entry(Map<String,Map<String,String>> mp3) { for (Object o:mp3.entrySet()) { Map.Entry<String,Map<String,String>> mp1= (Map.Entry<String, Map<String, String>>) o; String s=mp1.getKey(); Map mp2=mp1.getValue(); for (Object o1:mp2.entrySet()) { Map.Entry<String, String> mp4 = (Map.Entry<String, String>) o1; String s1=mp4.getKey(); String s2=mp4.getValue(); System.out.println(s+"市 "+s1+" "+s2); } } } }
第一层,一个Key对应一个map,提取出key,和对应的map
第二层,解析上一层对应的map
输出:第一层对应的Key,第二层对应的Key,第二层的Value
每次解析一个,循环结束为止,多层嵌套同理
上海市 闵行区 南京东路
上海市 浦东区 赤峰路
上海市 松江区 幸福里路
上海市 普陀区 伊敏路
北京市 朝阳区 新发地
北京市 大兴区 机场
北京市 燕山区 大学城
北京市 昌平区 火车站
堆溢出、栈溢出完全是两个东西
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步