java中map嵌套map_Map 嵌套存储Map

这个Java代码示例展示了如何创建并操作Map嵌套Map的数据结构。首先,创建了两个内部Map,分别存储java班和hadoop班的学生信息,然后将这两个Map作为值放入一个外部Map中,键为班级名称。最后,通过遍历外部Map的entrySet,打印出每个班级及其所有学生的信息。
摘要由CSDN通过智能技术生成

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map.Entry;

import java.util.Set;

public class demo10 {

public static void main(String[] args) {

//定义java班的集合

HashMap javas = new HashMap();

//定义hdoop班的集合

HashMap  hdoop = new HashMap();

//向班级存储学生

javas.put("001", "朱东洋");

javas.put("002", "常俊凯");

hdoop.put("001", "张无忌");

hdoop.put("002", "谢逊");

//定义aaa容器  键是班级的名字  值是两个班级的容器

HashMap> aaa = new HashMap>();

aaa.put("javas班",javas);

aaa.put("Hdoop班", hdoop);

EntrySet1(aaa);

}

private static void EntrySet1(HashMap> aaa) {

//调用集合aaa的方法 entrySet 将aaa集合的键封装到Set集合中

Set>> classa = aaa.entrySet();

//迭代Set集合

//Iterator>> it= classa.iterator();

//    while (it.hasNext()) {

//        Entry> b = it.next();

//        String  n = b.getKey();

//        HashMap< String, String> v= b.getValue();

//        System.out.println(n);

//        System.out.println(v);

//        Set> x = v.entrySet();

//        Iterator> its = x.iterator();

//        while(its.hasNext()){

//            Entry c = its.next();

//            String o = c.getKey();

//            String p = c.getValue();

//            System.out.println(o+" "+p);

//        }

//    }

//外循环控制输出班级名字和班级容器

for(Entry> i: classa){

String  n = i.getKey();

HashMap< String, String> v= i.getValue();

System.out.println(n);

System.out.println(v);

Set> x = v.entrySet();

//内循环控制输出容器中的内容

for(Entry r:x){

String o = r.getKey();

String p = r.getValue();

System.out.println(o+" "+p);

}

}

}

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java,可以使用Map来实现嵌套Map的数据结构。嵌套Map是指在一个Map的值存储另一个Map。这种嵌套的结构通常被用来存储更复杂的数据关系。 要实现嵌套Map,可以使用Java的HashMap或LinkedHashMap。HashMap是一种基于哈希表实现的Map,而LinkedHashMap是HashMap的一个子类,它保持了插入顺序。 下面是一个示例代码,演示了如何创建和使用嵌套Map: ```java Map<String, Map<String, Integer>> nestedMap = new HashMap<>(); Map<String, Integer> innerMap1 = new HashMap<>(); innerMap1.put("key1", 1); innerMap1.put("key2", 2); Map<String, Integer> innerMap2 = new HashMap<>(); innerMap2.put("key3", 3); innerMap2.put("key4", 4); nestedMap.put("map1", innerMap1); nestedMap.put("map2", innerMap2); // 获取嵌套Map的值 int value1 = nestedMap.get("map1").get("key1"); // 获取内部Map1的key1的值 int value2 = nestedMap.get("map2").get("key3"); // 获取内部Map2的key3的值 System.out.println(value1); // 输出:1 System.out.println(value2); // 输出:3 ``` 在上面的示例,我们创建了一个名为nestedMap嵌套Map。它有两个键值对,每个值都是一个内部的Map。通过使用外部Map的键获取内部Map,然后再通过内部Map的键获取值。 需要注意的是,当需要在自定义对象使用嵌套Map时,确保自定义对象重写了hashCode和equals方法,以便正确地使用Map的哈希算法进行键的查找和比较。<span class="em">1</span> #### 引用[.reference_title] - *1* [[Java]Map集合,集合嵌套](https://blog.csdn.net/qq_62245390/article/details/124882064)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值