HashMap循环遍历方式及其性能对比

HashMap循环遍历方式及其性能对比
package com.wu;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

public class Test {

	public static void main(String[] args) {
		Map<String,String> map=new HashMap<String,String>();    
		map.put("username", "qq");    
		map.put("passWord", "123");    
		map.put("userID", "1");    
		map.put("email", "qq@qq.com");   
		//第一种采用for each map.entrySet()
		for(Map.Entry<String, String> entry:map.entrySet()){    
		     System.out.println("key="+entry.getKey()+"--->value="+entry.getValue());    
		}  
		
		
		//第二种采用迭代 显示调用map.entrySet()的集合迭代器
		Set set = map.entrySet();         
		Iterator i = set.iterator();         
		while(i.hasNext()){      
		     Map.Entry<String, String> entry1=(Map.Entry<String, String>)i.next();    
		     System.out.println(entry1.getKey()+"=="+entry1.getValue());    
		}
		
		for(i = set.iterator(); i.hasNext();) {
			Map.Entry me = ( Map.Entry ) i.next();
			System.out.println(me.getKey()+"=="+me.getValue());
		}
		
		
		//第三种采用keySet()迭代   for each map.keySet(),再调用get获取
		Iterator it=map.keySet().iterator();    
		while(it.hasNext()){    
		     String key;    
		     String value;    
		     key=it.next().toString();    
		     value=map.get(key);    
		     System.out.println(key+"--"+value);    
		}   
		//用keySet()迭代   for each map.keySet(),再调用get获取
		for (String key : map.keySet()) {
			map.get(key);
			System.out.println(key+"=="+map.get(key));
		}
		
		
		//第四种 for each map.entrySet(),用临时变量保存map.entrySet()
		Set<Entry<String, String>> entrySet = map.entrySet();
		for (Entry<String, String> entry : entrySet) {
			entry.getKey();
			entry.getValue();
			System.out.println("key===>"+entry.getKey()+"value==>"+entry.getValue());
		}
		
	}
}
总结:
a。HashMap的循环,如果既需要key也需要value,直接使用
 //第一种采用for each map.entrySet()
   Map<String,String> map=new HashMap<String,String>();    
        for(Map.Entry<String, String> entry:map.entrySet()){    
             System.out.println("key="+entry.getKey()+"--->value="+entry.getValue());    
        }  
b。HashMap的循环,如果只需要key而无需value的话,可以直接使用

  //用keySet()迭代   for each map.keySet(),再调用get获取
Map<String,String> map=new HashMap<String,String>();    
        for (String key : map.keySet()) {
            map.get(key);
            System.out.println(key+"=="+map.get(key));
        }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值