网上有好多关于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 遍历和删除...
### c标签遍历集合嵌套的List集合 在Java Web开发中,经常需要处理复杂的集合数据结构,并将其展示到前端页面上。对于嵌套的集合(例如:List中包含List),使用`c`标签库(JSTL)进行遍历是一种常见的做法。本文将...
假设字符串`s`中包含一个嵌套的JSON对象,那么运行上述代码后,程序将会输出所有的叶子节点及其值。具体输出取决于字符串`s`的具体内容。 #### 六、注意事项 1. **异常处理:** 在实际应用中,应该对可能出现的...
Map集合的嵌套和遍历是开发者在处理复杂数据时经常会遇到的问题。本课程由知名IT讲师徐培成主讲,深入浅出地讲解了这一主题。 首先,我们要理解Map接口的基本概念。Map接口定义了存储键值对的方法,如put()用于添加...
下面是一个更复杂的示例,展示了如何使用`<logic:iterate>`标签来遍历嵌套的Map。 **示例代码:** ```jsp HashMap h = new HashMap(); String vegetables[] = {"pepper", "cucumber"}; String fruits[] = {"apple...
要将User对象转换为Map,我们可以创建一个通用的方法,这个方法接受任何Pojo类型的对象,然后遍历其属性并将其放入Map中。这里提供一个简单的工具类`Pojo2MapUtil`: ```java import java.lang.reflect.Field; ...
总之,处理嵌套的Map和List需要理解数据结构的层次,并能够有效地遍历和访问它们。在实际开发中,我们可能会遇到各种各样的数据结构,所以掌握这种技巧对于编写高效、可维护的代码至关重要。文件"map、List嵌套的...
- **特性**:TreeMap的键值对是有序的,可以通过键的自然顺序或自定义比较器进行排序,适合需要有序遍历的场景。 - **性能分析**:在插入和查找操作中,随着数据量的增加,TreeMap的性能逐渐下降,尤其是在大规模...
除了基本的遍历,Struts2还提供了丰富的OGNL表达式和标签库,可以进行更复杂的操作,比如条件判断、循环嵌套等。例如,你可以通过`<s:if>`和`<s:else>`标签来根据Map中的值进行不同的处理。 关于标签库的使用,我们...
5. 处理嵌套节点:如果XML中有嵌套节点,可以递归地将它们转换为嵌套的Map结构。 6. 完成转换:遍历结束后,Map就包含了整个XML文档的数据结构。 在实际应用中,我们可能会使用第三方库,如Apache Commons ...
- 遍历数组中的每一个元素,对于每一个元素: - 去除首尾空白。 - 找到`=`的位置。 - 分别获取键与值,并将它们加入到新的`HashMap`实例中。 #### 四、注意事项 - 在实际应用中,需要注意对异常情况进行处理,...
在Java编程中,Java Bean和Map是两种常用的...总的来说,Java Bean和Map之间的互转在Java开发中非常常见,尤其是在数据交换和视图渲染时。理解并掌握这两种数据结构的转换技巧,有助于提升开发效率和代码的可维护性。
在Java中,将JavaBean转换为Map的基本步骤是遍历JavaBean的所有属性,通过反射获取其getter方法,然后将属性名和对应的属性值放入Map中。以下是一个简单的示例: ```java import java.beans.Introspector; import ...
我们遍历列表,检查每个节点的`pid`是否为0,如果是,那么这个节点就是根节点。然后,对于列表中的每一个节点,我们查找当前树中`id`匹配的父节点,并将当前节点作为子节点添加到父节点的子节点列表中。如果没有找到...
在这个问题中,我们可以使用两个 for 循环嵌套遍历两个集合,然后将每个元素的笛卡尔乘积打印出来。 六、保皇游戏模拟 模拟保皇游戏开始的发牌过程。规则:4 副扑克,5 个玩家。1)有一个大王标记为皇上。每次发牌...
关于HashMap的遍历,应优先考虑使用entrySet()而不是keySet()进行遍历,这样可以直接访问到值,避免了对键进行查询,提高了效率。局部变量的使用优于成员变量,因为它们通常存储在栈中,访问速度较快。对象重用是...
首先,它创建了一个HashMap来存储属性名和值,然后将字段名和对应的属性值以键值对的形式添加到HashMap中,最后将HashMap转换为JSON格式的字符串。 2. `toJSON(Object[] objs)`:此方法接收一个对象数组,然后遍...
- 遍历这些字段并根据其类型将其添加到 `HashMap` 中,作为 JSON 对象的一部分。 - 最后,将 `HashMap` 转换为 JSON 字符串。 - **注意事项**: - 只处理了 `Number` 和 `String` 类型的字段。 - 其他类型的...
- 对于二维数组,可以通过嵌套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...
在本例中,遍历ArrayList中的HashMap来提取特定的处方信息,如药品批次号(cfsb)、价格(hjje)、药品名(yllb)、开单日期(kdrq)等,这些都是医院管理和患者诊断所需要的关键信息。 ### 错误处理和异常捕捉 ...