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

每次解析一个,循环结束为止,多层嵌套同理

上海市 闵行区 南京东路
上海市 浦东区 赤峰路
上海市 松江区 幸福里路
上海市 普陀区 伊敏路
北京市 朝阳区 新发地
北京市 大兴区 机场
北京市 燕山区 大学城
北京市 昌平区 火车站

 

堆溢出、栈溢出完全是两个东西

posted @ 2020-08-13 21:54  Spring_Xian  阅读(309)  评论(0编辑  收藏  举报