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

 更新时间:2017年08月21日 09:25:52   作者:chs0113  
这篇文章主要介绍了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 = 张四 

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

相关文章

  • Mybatis拦截器实现数据权限的示例代码

    Mybatis拦截器实现数据权限的示例代码

    在我们日常开发过程中,通常会涉及到数据权限问题,本文主要介绍了Mybatis拦截器实现数据权限的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Springboot拦截器如何获取@RequestBody参数

    Springboot拦截器如何获取@RequestBody参数

    这篇文章主要介绍了Springboot拦截器如何获取@RequestBody参数的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • java生成图片进行套打功能

    java生成图片进行套打功能

    这篇文章主要为大家详细介绍了java生成图片进行套打功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • Java中.divide()方法使用及注意事项详解

    Java中.divide()方法使用及注意事项详解

    divide方法就是bigdecimal类中的一个除法计算方法,由于该divide方法参数类型众多并且不易理解容易出现错误,这篇文章主要给大家介绍了关于Java中.divide()方法使用及注意事项的相关资料,需要的朋友可以参考下
    2024-03-03
  • Java设计模式之享元模式(Flyweight Pattern)详解

    Java设计模式之享元模式(Flyweight Pattern)详解

    享元模式(Flyweight Pattern)是一种结构型设计模式,旨在减少对象的数量,以节省内存空间和提高性能,本文将详细的给大家介绍一下Java享元模式,需要的朋友可以参考下
    2023-07-07
  • Spring搭配Ehcache实例解析

    Spring搭配Ehcache实例解析

    这篇文章主要为大家详细介绍了Spring搭配Ehcache实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • Java引用类型interface的用法总结

    Java引用类型interface的用法总结

    这篇文章主要为大家详细介绍了Java中引用类型interface的用法的相关资料,文中的示例代码讲解详细,对我们学习Java有一定帮助,感兴趣的可以了解一下
    2022-10-10
  • java中如何获取相关参数

    java中如何获取相关参数

    这篇文章主要介绍了java获取系统属性相关参数的方法,,需要的朋友可以参考下
    2015-07-07
  • 解决IDEA启动springboot项目报错java.lang.ClassNotFoundException: javax.servlet.ServletContext

    解决IDEA启动springboot项目报错java.lang.ClassNotFoundException: jav

    这篇文章主要介绍了解决IDEA启动springboot项目报错java.lang.ClassNotFoundException: javax.servlet.ServletContext问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Java代码是如何被CPU狂飙起来的

    Java代码是如何被CPU狂飙起来的

    无论是刚刚入门Java的新手还是已经工作了的老司机,恐怕都不容易把Java代码如何一步步被CPU执行起来这个问题完全讲清楚。本文就带你详细了解Java代码到底是怎么运行起来的。感兴趣的同学可以参考阅读
    2023-03-03

最新评论