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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • IntentService的原理及使用

    在Android开发中,我们或许会碰到这么一种业务需求,一项任务分成几个子任务,子任务按顺序先后执行,子任务全部执行完后,这项任务才算成功。那么,利用几个子线程顺序执行是可以达到这个目的的,但是每个线程必须去手动控制,而且得在一个子线程执行完后,再开启另一个子线程。或者,全部放到一个线程中让其顺序执行。这样都可以做到,但是,如果这是一个后台任务,就得放到Service里面,由于Service和Ac

  • eclipse卸载android环境插件

    卸载eclipse-preference左侧导航栏中Android模块help-installnewsoftware–whatisalreadyinstalled?在弹出的界面选择android相关的插件卸载,重启eclipse

  • Python抓取数据_python抓取游戏数据

    Python抓取数据_python抓取游戏数据前言本文整理自慕课网"《Python开发简单爬虫》",将会记录爬取百度百科“python”词条相关页面的整个过程。抓取策略确定目标:确定抓取哪个网站的哪些页面的哪部分数据

  • java字符串数组初始化和赋值[通俗易懂]

    java字符串数组初始化和赋值[通俗易懂]//一维数组String[]str=newString[5];//创建一个长度为5的String(字符串)型的一维数组String[]str=newString[]{“”,””,””,””,””};String[]str={“”,””,””,””,””};String数组初始化区别      首先应该明白java数组里面存的是对象的引用,所以必须初

  • TranslateMessage函数 (转)「建议收藏」

    TranslateMessage函数 (转)「建议收藏」TranslateMessage是用来把虚拟键消息转换为字符消息。由于Windows对所有键盘编码都是采用虚拟键的定义,这样当按键按下时,并不得字符消息,需要键盘映射转换为字符的消息。TranslateMessage函数用于将虚…

  • 视觉SLAM技术_解读团体技术

    视觉SLAM技术_解读团体技术近年来,SLAM技术取得了惊人的发展,领先一步的激光SLAM已成熟的应用于各大场景中,视觉SLAM虽在落地应用上不及激光SLAM,但也是目前研究的一大热点,今天我们就来详细聊聊视觉SLAM的那些事儿。视觉SLAM是什么?视觉SLAM主要是基于相机来完成环境的感知工作,相对而言,相机成本较低,容易放到商品硬件上,且图像信息丰富,因此视觉SLAM也备受关注。目前,视觉SLAM可…

发表回复

您的电子邮箱地址不会被公开。

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