`

【转】HashMap嵌套遍历

 
阅读更多
网上有好多关于HashMap嵌套遍历的讨论,但有些言之不祥,特此以如下示例进行演示。

import java.util.*;
public class mutil_hashmap {

    public static void main(String args[]) {

        Map<String, Map<String, int[]>> mutil_hashmap = new HashMap<String, Map<String, int[]>>();       
        Map<String, int[]> inserted_hashmap = new HashMap<String, int[]>();
        int nextInf[] = new int[8];

        for (int i = 0; i < 8; i++) {
            nextInf[i] = i * 10;
        }

        inserted_hashmap.put("0.0.0.100", nextInf);
        mutil_hashmap.put("R0", inserted_hashmap);



        //一般遍历方法
        Iterator out_iterator = mutil_hashmap.keySet().iterator();       
        while (out_iterator.hasNext()) {

            String router=(String)out_iterator.next();
           
            System.out.print(router);
           
            HashMap in_hashmap=(HashMap)mutil_hashmap.get(router);
           
            Iterator in_iterator = in_hashmap.keySet().iterator();
           
            while (in_iterator.hasNext()) {
               
                String dest=(String)in_iterator.next();
               
                System.out.println("->"+dest+":");
               
                               
                for(int nexthop_interface : (int[])in_hashmap.get(dest)){
                   
                    System.out.print(nexthop_interface+" ");
                }
                   
            }
           
            System.out.println();
           
        }      

        //利用Map.Entry进行遍历
        Iterator<Map.Entry<String, Map<String, int[]>>> it = mutil_hashmap
                .entrySet().iterator();
       
        while (it.hasNext()) {
           
            // entry.getKey() 返回与此项对应的键
            // entry.getValue() 返回与此项对应的值
           
            Map.Entry entry = (Map.Entry)it.next();
            System.out.print("\n"+entry.getKey());   
           
            HashMap tmp_in_hashmap=(HashMap)entry.getValue();
           
            Iterator<Map.Entry<String, int[]>> in_iterator = tmp_in_hashmap
            .entrySet().iterator();
           
            while(in_iterator.hasNext()){
                Map.Entry in_entry = (Map.Entry)in_iterator.next();
                System.out.println("->"+in_entry.getKey()+":");
                int[] array=(int[])in_entry.getValue();
                for(int each:array){
                    System.out.print(each+" ");
                }
            }          
           
        }       
    }
}

分享到:
评论

相关推荐

    Java HashMap 如何正确遍历并删除元素的方法小结

    Java HashMap 遍历和删除元素方法小结 Java HashMap 是一种常用的数据结构,用于存储键值对儿,但是在遍历和删除元素时,需要注意一些特殊的情况,否则可能会出现异常或错误。本文将介绍 Java HashMap 遍历和删除...

    c标签遍历集合嵌套的List集合

    ### c标签遍历集合嵌套的List集合 在Java Web开发中,经常需要处理复杂的集合数据结构,并将其展示到前端页面上。对于嵌套的集合(例如:List中包含List),使用`c`标签库(JSTL)进行遍历是一种常见的做法。本文将...

    java遍历JSON树

    假设字符串`s`中包含一个嵌套的JSON对象,那么运行上述代码后,程序将会输出所有的叶子节点及其值。具体输出取决于字符串`s`的具体内容。 #### 六、注意事项 1. **异常处理:** 在实际应用中,应该对可能出现的...

    【IT十八掌徐培成】Java基础第12天-01.Map集合的嵌套和遍历.zip

    Map集合的嵌套和遍历是开发者在处理复杂数据时经常会遇到的问题。本课程由知名IT讲师徐培成主讲,深入浅出地讲解了这一主题。 首先,我们要理解Map接口的基本概念。Map接口定义了存储键值对的方法,如put()用于添加...

    常用struts1遍历方法

    下面是一个更复杂的示例,展示了如何使用`&lt;logic:iterate&gt;`标签来遍历嵌套的Map。 **示例代码:** ```jsp HashMap h = new HashMap(); String vegetables[] = {"pepper", "cucumber"}; String fruits[] = {"apple...

    java Pojo转Map

    要将User对象转换为Map,我们可以创建一个通用的方法,这个方法接受任何Pojo类型的对象,然后遍历其属性并将其放入Map中。这里提供一个简单的工具类`Pojo2MapUtil`: ```java import java.lang.reflect.Field; ...

    嵌套Map或者List获取key、value值

    总之,处理嵌套的Map和List需要理解数据结构的层次,并能够有效地遍历和访问它们。在实际开发中,我们可能会遇到各种各样的数据结构,所以掌握这种技巧对于编写高效、可维护的代码至关重要。文件"map、List嵌套的...

    Java里多个Map的性能比较(TreeMap、HashMap、ConcurrentSkipListMap)

    - **特性**:TreeMap的键值对是有序的,可以通过键的自然顺序或自定义比较器进行排序,适合需要有序遍历的场景。 - **性能分析**:在插入和查找操作中,随着数据量的增加,TreeMap的性能逐渐下降,尤其是在大规模...

    struts2中的map遍历

    除了基本的遍历,Struts2还提供了丰富的OGNL表达式和标签库,可以进行更复杂的操作,比如条件判断、循环嵌套等。例如,你可以通过`&lt;s:if&gt;`和`&lt;s:else&gt;`标签来根据Map中的值进行不同的处理。 关于标签库的使用,我们...

    jaxb xml 转map

    5. 处理嵌套节点:如果XML中有嵌套节点,可以递归地将它们转换为嵌套的Map结构。 6. 完成转换:遍历结束后,Map就包含了整个XML文档的数据结构。 在实际应用中,我们可能会使用第三方库,如Apache Commons ...

    map.toString()后转换成Map类型

    - 遍历数组中的每一个元素,对于每一个元素: - 去除首尾空白。 - 找到`=`的位置。 - 分别获取键与值,并将它们加入到新的`HashMap`实例中。 #### 四、注意事项 - 在实际应用中,需要注意对异常情况进行处理,...

    java bean和map之间的互转

    在Java编程中,Java Bean和Map是两种常用的...总的来说,Java Bean和Map之间的互转在Java开发中非常常见,尤其是在数据交换和视图渲染时。理解并掌握这两种数据结构的转换技巧,有助于提升开发效率和代码的可维护性。

    Desktop_javaBean转换Map工具_

    在Java中,将JavaBean转换为Map的基本步骤是遍历JavaBean的所有属性,通过反射获取其getter方法,然后将属性名和对应的属性值放入Map中。以下是一个简单的示例: ```java import java.beans.Introspector; import ...

    字符串反解析成树结构

    我们遍历列表,检查每个节点的`pid`是否为0,如果是,那么这个节点就是根节点。然后,对于列表中的每一个节点,我们查找当前树中`id`匹配的父节点,并将当前节点作为子节点添加到父节点的子节点列表中。如果没有找到...

    JAVA上机题目小题库

    在这个问题中,我们可以使用两个 for 循环嵌套遍历两个集合,然后将每个元素的笛卡尔乘积打印出来。 六、保皇游戏模拟 模拟保皇游戏开始的发牌过程。规则:4 副扑克,5 个玩家。1)有一个大王标记为皇上。每次发牌...

    java代码优化笔记

    关于HashMap的遍历,应优先考虑使用entrySet()而不是keySet()进行遍历,这样可以直接访问到值,避免了对键进行查询,提高了效率。局部变量的使用优于成员变量,因为它们通常存储在栈中,访问速度较快。对象重用是...

    提供将对象转换成JSON字符串的方法 (2).pdf

    首先,它创建了一个HashMap来存储属性名和值,然后将字段名和对应的属性值以键值对的形式添加到HashMap中,最后将HashMap转换为JSON格式的字符串。 2. `toJSON(Object[] objs)`:此方法接收一个对象数组,然后遍...

    转换成json

    - 遍历这些字段并根据其类型将其添加到 `HashMap` 中,作为 JSON 对象的一部分。 - 最后,将 `HashMap` 转换为 JSON 字符串。 - **注意事项**: - 只处理了 `Number` 和 `String` 类型的字段。 - 其他类型的...

    javatraining:Java遍历

    - 对于二维数组,可以通过嵌套for循环来逐行遍历: ```java int[][] multiArray = {{1, 2}, {3, 4}, {5, 6}}; for (int i = 0; i ; i++) { for (int j = 0; j [i].length; j++) { System.out.println...

    对list数据的处理,数据库取得数据也可以利用这种方式.pdf

    在本例中,遍历ArrayList中的HashMap来提取特定的处方信息,如药品批次号(cfsb)、价格(hjje)、药品名(yllb)、开单日期(kdrq)等,这些都是医院管理和患者诊断所需要的关键信息。 ### 错误处理和异常捕捉 ...

Global site tag (gtag.js) - Google Analytics