Java Map的几种循环方式学习总结[通俗易懂]

java Map的几种循环总结

大家好,又见面了,我是全栈君。

1:根据JDK的新特性,用For循环Map,例如循环Map的Key

Map<Object , Object> map = new HashMap<Object, Object>();
		for (int i = 0; i < 10; i++) {
			map.put(i, i+1);
		}
		for (Object key : map.keySet()) {
			System.out.println("key = " + key);
		}


2:对整Map的key和value都进行循环,如下:

for(Map.Entry<String, Object> entry : paraMap.entrySet())    
{    
    System.out.println(entry.getKey()+": "+entry.getValue());    
} 

3:使用Iterator 

Iterator it = paraMap.entrySet().iterator();    
while (it.hasNext())     
{    
        Map.Entry map = (Map.Entry)it.next();    
        System.out.println(map .getKey() + " = " + map .getValue());    
 }  

对上面的内容进行更新!将三种方式完整呈现!

package com.dufyun.javase.jihe;

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

/**
 * 练习循环map集合中key和value的方法
 * @author aflyun
 * 
 *
 */
public class TestMap {
	
	   
	public static void main(String[] args) {
		Map<Object , Object> map = new HashMap<Object, Object>();
		for (int i = 0; i < 10; i++) {
			map.put(i, i+1);
		}
		
		firstLoopMap(map);
		secodnLoopMap(map);
		thirdLoopMap(map);
	}
	
	/**
	 * 1:循环 map 中的key<br/>
	 * 	 根据JDK的新特性,用For循环Map,例如循环Map的Key 和 value 
	 * @param map
	 */
	public static void firstLoopMap(Map<Object, Object> map) {
		for (Object key : map.keySet()) {
			System.out.println("key = " + key +"--value = " + map.get(key));
		}
	}
	/**
	 * 2:循环 map 中的key 和 value<br/>
	 * entrySet 
	 * @param map
	 */
	public static void secodnLoopMap(Map<Object , Object> map) {
		for (Map.Entry<Object, Object> entry : map.entrySet()) {
			System.out.println("key = " + entry.getKey() +"--value = " + entry.getValue());
		}
	}
	
	/**
	 * 3:循环Map的key 和value<br/>
	 * iterator
	 * @param map
	 */
	public static void thirdLoopMap(Map<Object, Object> map) {
		Iterator it = map.entrySet().iterator();
		while(it.hasNext()){
			Map.Entry<Object, Object> m = (Entry<Object, Object>) it.next();
			System.out.println("key = " + m.getKey() +"---value = "+ m.getValue());
		}
				
	}
}

输出的内容:

key = 0---value = 1
key = 1---value = 2
key = 2---value = 3
key = 3---value = 4
key = 4---value = 5
key = 5---value = 6
key = 6---value = 7
key = 7---value = 8
key = 8---value = 9
key = 9---value = 10

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121280.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月24日 下午2:00
下一篇 2022年2月24日 下午3:00


相关推荐

  • Navicat Premium 15generate生成激活码失败_通用破解码

    Navicat Premium 15generate生成激活码失败_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    119
  • navicat for mysql 15 for mac激活码【2021.10最新】

    (navicat for mysql 15 for mac激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月28日
    299
  • #Java算法设计与分析1–递归算法

    #Java算法设计与分析1–递归算法1.递归算法1.1递归的概念所谓递归,就是程序方法在运行过程中自身调用自身。定义如下所示。fn(){ if(递归出口条件){ returnx;}else{ //somecodes…returnfn();}}1.2递归的使用条件1.2.1必须要有明确的递归出口所谓递归出口就是需要有明确的结束条件。1.2.2每次递归都要使问题的规模减小1.2.3递归的规模…

    2022年7月8日
    24
  • oracle中dba什么意思,oracle dba

    oracle中dba什么意思,oracle dba双语使用场景 TheOracledat DBA willconsider loadbalancin andotherswhi Oracle 数据库管理员 DBA 在创建和配置 rac 时需要考虑与故障转移 负

    2026年3月20日
    2
  • iscsiadm用法简介[通俗易懂]

    iscsiadm用法简介[通俗易懂]已知192.168.14.112节点,存在目标器 iqn.2015.06.cn.hrbyg.www.ygcs.c0a802b8:wzg,未设置CHAP,存在目标器 iqn.2015

    2022年7月1日
    31
  • 【大物第七版·电磁感应 电磁场理论】感生电动势 感生电场总结

    【大物第七版·电磁感应 电磁场理论】感生电动势 感生电场总结感生电动势 导体回路不动 磁场发生变化产生的电动势感生电场 变化的磁场在其周围激发了一种电场表示感生电场的 场强注意是负号在自然界中存在着两种以不同方式激发的电场 所激发电场的性质也截然不同 由静止电荷所激发的电场时保守力场 无旋场 在该场中电场强度沿任一闭合回路的线积分恒等于 0 即但变化磁场所激发的感生电场沿任一闭合回路的线积分一般不等于 0 而是有 说明感生电场不是保守力场

    2025年9月30日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号