当前位置: 首页 > 编程笔记 >

java 遍历Map及Map转化为二维数组的实例

崔博延
2023-03-14
本文向大家介绍java 遍历Map及Map转化为二维数组的实例,包括了java 遍历Map及Map转化为二维数组的实例的使用技巧和注意事项,需要的朋友参考一下

java 遍历Map及Map转化为二维数组的实例

实例代码:

import java.util.HashMap; 
import java.util.Iterator; 
import java.util.Map; 
 
public class Test { 
  public static void main(String[] args) { 
    int a = 0, b = 0, c = 0; 
    // 第一种:通过Map.keySet()遍历Map及将Map转化为二维数组 
    Map<String, String> map1 = new HashMap<String, String>(); 
    map1.put("012013012013", "张三"); 
    map1.put("012013012014", "张四"); 
    String[][] group1 = new String[map1.size()][2]; 
    System.out.println("第一种:通过Map.keySet()遍历map1的key和value"); 
    for (String key : map1.keySet()) {  
      System.out.println("key = " + key + " and value = " + map1.get(key));  
      group1[a][0] = key; 
      group1[a][1] = map1.get(key); 
      a++; 
    }  
    System.out.println("map1.size()为:" + map1.size() + ",a为:" + a + ",group1数组的长度为:" + group1.length); 
    System.out.println("----------------------------------------------------"); 
    for(int n = 0; n < group1.length; n++) { 
      System.out.println("key = " + group1[n][0] + " and value = " + group1[n][1]);  
    } 
     
    // 第二种:通过Map.entrySet()使用iterator()遍历Map及将Map转化为二维数组 
    Map<String, String> map2 = new HashMap<String, String>(); 
    map2.put("112013012013", "李三"); 
    map2.put("112013012014", "李四"); 
    System.out.println("\n" + "第二种:通过Map.entrySet()使用iterator()遍历map2的key和value"); 
    Iterator<Map.Entry<String, String>> iterator = map2.entrySet().iterator();  
    String[][] group2 = new String[map2.size()][2]; 
    while (iterator.hasNext()) {  
      Map.Entry<String, String> entry = iterator.next();         
      System.out.println("key = " + entry.getKey() + " and value = " + entry.getValue()); 
      group2[b][0] = entry.getKey(); 
      group2[b][1] = entry.getValue(); 
      b++; 
    }  
    System.out.println("map2.size()为:" + map2.size() + ",b为:" + b + ",group2数组的长度为:" + group2.length); 
    System.out.println("----------------------------------------------------"); 
    for(int n = 0; n < group2.length; n++) { 
      System.out.println("key = " + group2[n][0] + " and value = " + group2[n][1]);  
    } 
     
    // 第三种:通过Map.entrySet()遍历遍历Map及将Map转化为二维数组 
    Map<String, String> map = new HashMap<String, String>(); 
    map.putAll(map1); 
    map.putAll(map2);   
    String[][] group3 = new String[map.size()][2]; 
    System.out.println("\n" + "第三种:通过Map.entrySet()遍历map的key和value ");    
    for (Map.Entry<String, String> entry : map.entrySet()) {  
      System.out.println("key = " + entry.getKey() + " and value = " + entry.getValue());  
      group3[c][0] = entry.getKey(); 
      group3[c][1] = entry.getValue(); 
      c++; 
    } 
    System.out.println("map.size()为:" + map.size() + ",c为:" + c + ",group3数组的长度为:" + group3.length); 
    System.out.println("----------------------------------------------------"); 
    for(int n = 0; n < group3.length; n++) { 
      System.out.println("key = " + group3[n][0] + " and value = " + group3[n][1]);  
    } 
     
  } 
} 

输出结果为:

第一种:通过Map.keySet()遍历map1的key和value 
key = 012013012013 and value = 张三 
key = 012013012014 and value = 张四 
map1.size()为:2,a为:2,group1数组的长度为:2 
---------------------------------------------------- 
key = 012013012013 and value = 张三 
key = 012013012014 and value = 张四 
 
第二种:通过Map.entrySet()使用iterator()遍历map2的key和value 
key = 112013012014 and value = 李四 
key = 112013012013 and value = 李三 
map2.size()为:2,b为:2,group2数组的长度为:2 
---------------------------------------------------- 
key = 112013012014 and value = 李四 
key = 112013012013 and value = 李三 
 
第三种:通过Map.entrySet()遍历map的key和value  
key = 112013012014 and value = 李四 
key = 112013012013 and value = 李三 
key = 012013012013 and value = 张三 
key = 012013012014 and value = 张四 
map.size()为:4,c为:4,group3数组的长度为:4 
---------------------------------------------------- 
key = 112013012014 and value = 李四 
key = 112013012013 and value = 李三 
key = 012013012013 and value = 张三 
key = 012013012014 and value = 张四 

如有疑问请留言或者到本站社区交流讨论,大家共同进步,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

 类似资料:
  • 本文向大家介绍js遍历map javaScript遍历map的简单实现,包括了js遍历map javaScript遍历map的简单实现的使用技巧和注意事项,需要的朋友参考一下 js遍历map javaScript遍历map的简单实现 这样会把map给遍历掉,显示在浏览器上的控制器里。 以上这篇js遍历map javaScript遍历map的简单实现就是小编分享给大家的全部内容了,希望能给大家一个参

  • 我有一个“连接四块板”,我用一个2d阵列(阵列[x][y]x=x坐标,y=y坐标)模拟它。我必须使用“System.out.println”,所以我必须遍历行。 我需要一种迭代方式[0,0][1,0][2,0][3,0][0,1][1,1][2,1]等 如果我使用正常程序: 它不起作用,因为它以[0,0][0,1][0,2][0,3]等方式进行迭代 正常过程保持在x中并递增y直到列的末尾,但我需要

  • Map 集合的遍历与 List 和 Set 集合不同。Map 有两组值,因此遍历时可以只遍历值的集合,也可以只遍历键的集合,也可以同时遍历。Map 以及实现 Map 的接口类(如 HashMap、TreeMap、LinkedHashMap、Hashtable 等)都可以用以下几种方式遍历。 1)在 for 循环中使用 entries 实现 Map 的遍历(最常见和最常用的)。 2)使用 for-e

  • 问题内容: 当前在React中,我正在使用一个数组进行迭代。但是,如何使用map同时遍历两个数组? 编辑 像这样,我希望在每次迭代之前都添加图标。我计划将这些图标放在另一个数组中。因此,这就是为什么要迭代两个数组的原因。 问题答案: 如果可能的话,我建议将文本与图像一起存储在对象数组中,例如: 这样,您就可以遍历数组并同时选择两个成员,例如: 如果这不可能,则只需映射一个数组并通过当前索引访问第二

  • 本文向大家介绍Java中Map的遍历方法及性能测试,包括了Java中Map的遍历方法及性能测试的使用技巧和注意事项,需要的朋友参考一下 1. 阐述 对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多。理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的只是key的集合,针对每个key,都要去Map中额外查找一次va

  • 流程: json作为数据 viper解析 grpc通信 json: proto: 生成的go代码 目前卡在viper解析proto文件生成的struct报错: 'Toolbar.Column[0]' expected a map, got 'slice'\n* 原因很简单,viper需要的是 生成的代码却多了一个InnerArray 请问,这该怎么办? 最好不要改json格式,需要的就是二维数组,