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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • goland 2021.3.1激活破解方法「建议收藏」

    goland 2021.3.1激活破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    848
  • 钩子原理及实例:实现键盘钩子截获密码

    钩子原理及实例:实现键盘钩子截获密码钩子原理及实例:利用鼠标键盘钩子截获密码钩子原理 钩子能截获系统并得理发送给其它应用程序的消息,能完成一般程序无法完成的功能。Windows系统是建立在事件驱动的机制上的,也就是整个系统都是通过消息的传递来实现的。而钩子是Windows系统中非常重要的系统接口,用它可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的功能。钩子的种类很多,每种钩子可以截获并处

    2022年6月9日
    32
  • max31865C语言程序,max31865温度传感器通信驱动代码「建议收藏」

    max31865C语言程序,max31865温度传感器通信驱动代码「建议收藏」最近研究maximmax31865温度传感器,贴出通信驱动代码和大牛门一起学习,指点我一二max31865是专门用来测量电阻类温度传感器的,ad分辨率为15位,可以做PT100高精度测量,通信接口为SPI。通过评估板CN7的PC10,PC11,PC12(SPI3)连接芯片模块,PD2做片选。下面贴上驱动代码:1.///////////////////////////////////////…

    2022年6月14日
    38
  • ssh 命令连接

    ssh 命令连接Linuxssh命令详解SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP22端口),包括公共秘钥等交换等信息。ssh服务端由2部分组成:openssh(提供ssh服务)openssl(提供加密的程序)ssh的客户端可以用XSHELL,Securecrt,Moba…

    2022年6月24日
    29
  • 《项目经理演讲与呈现技巧》总结

    《项目经理演讲与呈现技巧》总结

    2021年9月13日
    55
  • plsql 连接oracle数据库详细配置「建议收藏」

    plsql 连接oracle数据库详细配置「建议收藏」第一次用这种方式连接oracle数据库,自己百度搞了快两个小时才弄好,百度的资源也不靠谱,看了好多都不完整,搞完了报各种错误,各种连不上数据库,自己整理下资料,希望给其他的同行予以借鉴,不能保证每个人都能操作成功!毕竟有时真的得看人品了,呵呵!第一步:先安装plsql客户端,plsql客户端是必须的,我的是同事给的plsql(英文版客户端)安装很简单(下一步下一步…….)就不做说明!

    2025年12月12日
    5

发表回复

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

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