教程集 www.jiaochengji.com
教程集 >  脚本编程  >  java  >  正文 java中遍历Map的常用方法总结

java中遍历Map的常用方法总结

发布时间:2016-10-15   编辑:jiaochengji.com
教程集为您提供java中遍历Map的常用方法总结等资源,欢迎您收藏本站,我们将为您提供最新的java中遍历Map的常用方法总结资源
Map在java中有点是数组的意思了我们下面给各位整理了一些java中遍历Map的常用方法总结,希望文章能够对各位朋友带来帮助.


public static void main(String[] args) {
 
Map<String, String> map = new HashMap<String, String>();
map.put("1", "value1");
map.put("2", "value2");
map.put("3", "value3");
 
//第一种:普遍使用,二次取值
System.out.println("通过Map.keySet遍历key和value:");
for (String key : map.keySet()) {
 System.out.println("key= " key " and value= " map.get(key));
}
 
//第二种
System.out.println("通过Map.entrySet使用iterator遍历key和value:");
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
 Map.Entry<String, String> entry = it.next();
 System.out.println("key= " entry.getKey() " and value= " entry.getValue());
}
 
//第三种:推荐,尤其是容量大时
System.out.println("通过Map.entrySet遍历key和value");
for (Map.Entry<String, String> entry : map.entrySet()) {
 System.out.println("key= " entry.getKey() " and value= " entry.getValue());
}
 
//第四种
System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
for (String v : map.values()) {
 System.out.println("value= " v);
}
 }


第一种:

最常规的一种遍历方法,最常规就是最常用的,虽然不复杂,但很重要,这是我们最熟悉的。
 
 

import java.util.Collection; 
import java.util.Iterator; 
import java.util.Map; 
import java.util.HashMap; 
 
    /**
     * 1.把值放到一个集合里,然后遍历集合
     */ 
public class TraversalMap1 { 
    private static Map<Integer, String> map; 
    private static TraversalMap1 getMap(){ 
        map = new HashMap<Integer, String>(); 
        for(int i = 0 ; i < 10 ; i ){ 
            if(map.isEmpty()) map.put(i, "String " i); 
            else if(map.get(i) == null) map.put(i,"String " i) ; 
        } 
        return null; 
    } 
     
    public static void main(String[] args){ 
        getMap(); 
        Collection<String> c = map.values(); 
        Iterator i = c.iterator(); 
        for(; i.hasNext() ;){ 
            System.out.println(i.next());//遍历出map内的所有value 
        } 
         
    }    

 
 
第二种:

利用keyset进行遍历,它手优点在于可以根据你所想要的key值得到你想要的values,更具灵活性。
 

import java.util.Set; 
import java.util.Iterator; 
import java.util.Map; 
import java.util.HashMap; 
    /**
    * 2.把key放到一个集合里,遍历key值同时根据key得到值
    */ 
public class TraversalMap2 { 
    private static Map<Integer, String> map; 
    private static TraversalMap2 getMap(){ 
        map = new HashMap<Integer, String>(); 
        for(int i = 0 ; i < 10 ; i ){ 
            if(map.isEmpty()) map.put(i, "String " i); 
            else if(map.get(i) == null) map.put(i,"String " i) ; 
        } 
        return null; 
    } 
     
    public static void main(String[] args){ 
        getMap(); 
        Set set = map.keySet(); 
        Iterator i = set.iterator(); 
        for(; i.hasNext() ;){ 
            System.out.println(i.next());//遍历出map内的所有key 
        } 
         
    }    

 
第三种:

比较复杂的一种遍历在这里,呵呵~~它很暴力哦,它的灵活性太强了,想得到什么就能得到什么~~
 

import java.util.Map; 
import java.util.HashMap; 
    /**
    * 3.把一个map对象放到放到entry里,然后根据entry同时得到key和value
    */ 
public class TraversalMap3 { 
    private static Map<Integer, String> map; 
    private static int num = 0 ; 
    private static String str = ""; 
    private static TraversalMap3 getMap(){ 
        map = new HashMap<Integer, String>(); 
        for(int i = 0 ; i < 10 ; i ){ 
            if(map.isEmpty()) map.put(i, "String " i); 
            else if(map.get(i) == null) map.put(i,"String " i) ; 
        } 
        return null; 
    } 
     
    public static void main(String[] args){ 
        getMap(); 
        for(Map.Entry<Integer, String> entry : map.entrySet()){ 
            num = entry.getKey(); 
            str = entry.getValue(); 
            System.out.println("the map key is : " num " || the value is : " str);//显示出map的key和value 
        } 
         
    }    

您可能感兴趣的文章:
java中关于Map的几大问题总结
java中遍历Map的常用方法总结
Go range实现原理及性能优化剖析
golang for range原理(转载)
golang key map 所有_golang系列——高级语法之map
golang遍历时修改被遍历对象
基于jquery循环map功能的代码
Golang从入门到放弃200618--Map(1)Map的初始化和基本操作
php遍历数组之list foreach each用法总结
golang map多层嵌套使用及遍历方法汇总

[关闭]
~ ~