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
每次解析一个,循环结束为止,多层嵌套同理
上海市 闵行区 南京东路
上海市 浦东区 赤峰路
上海市 松江区 幸福里路
上海市 普陀区 伊敏路
北京市 朝阳区 新发地
北京市 大兴区 机场
北京市 燕山区 大学城
北京市 昌平区 火车站
堆溢出、栈溢出完全是两个东西