码迷,mamicode.com
首页 > 其他好文 > 详细

HashMap集合嵌套

时间:2019-12-31 12:16:38      阅读:66      评论:0      收藏:0      [点我收藏+]

标签:str   pack   while   acl   import   color   a10   oid   根据   

 

package com.oracle.demo02;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

import com.oracle.demo01.Person;

public class Demo01 {
    //集合嵌套
    public static void main(String[] args) {
        //外部大集合
        HashMap<String, HashMap<Person, String>> oracle =new HashMap<String, HashMap<Person, String>>();
        //内部小集合
        HashMap<Person, String> m1=new HashMap<Person,String>();
        m1.put(new Person("邢",20), "1234");
        m1.put(new Person("祝",20), "4567");
        HashMap<Person, String> m2=new HashMap<Person,String>();
        m2.put(new Person("小红",20), "1234");
        m2.put(new Person("小绿",20), "4567");
        //储存
        oracle.put("java1018", m1);
        oracle.put("java1111", m2);
        /*//1.keySet+增强for
        //获取大map中所有的key所在的Set集合
        Set<String> bigSet =oracle.keySet();
        
        //遍历所有的key,渠道每一个string的key
        for (String bigkey : bigSet) {
            
            //根据key获取大map中的value值
            HashMap<Person, String> smap=oracle.get(bigkey);
            
            //获取小map中所有的key所在的Set集合
            Set<Person> smallSet=smap.keySet();
            
            //遍历所有key,渠道每一个Person的key
            for (Person smallKey : smallSet) {
                
                //根据key回去小map中的value值
                String value=smap.get(smallKey);
                System.out.println(bigkey+" "+smallKey+" "+value);
            }
        }*/
        //---------------------------------------------
        //获取oracle集合key所在的Set集合  -->bigSet
        Set<String> bigSet =oracle.keySet();
        //遍历存放所有key的bigSet集合
        Iterator<String> it=bigSet.iterator();
        while (it.hasNext()) {
            String s=it.next();//获得大集合的每一个key
            HashMap<Person, String> smap=oracle.get(s);//获得大集合每一个key所对应的value值
            Set<Person> p=smap.keySet();//获取小集合key所在的Set集合 -->p
            Iterator<Person> p1=p.iterator();
            while (p1.hasNext()) {
                Person person = p1.next();//获取小集合的每一个key
                String value=smap.get(person);//获取小集合的每一个key所对应的value值
                System.out.println(s+" "+person+" "+value);
            }
            
        }
    }
}

 

.

HashMap集合嵌套

标签:str   pack   while   acl   import   color   a10   oid   根据   

原文地址:https://www.cnblogs.com/l1314/p/12123516.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!