Java遍历Map

原创 2015年11月19日 14:41:36
Java遍历Map的四种方法及对比
package cn.sf.util;

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

public class TestMap {

	/**
	 * 方法一 在for-each循环中使用entries来遍历
	 * 这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用
	 */
	public void testMap1(){
		Map<String, String> map = new HashMap<String, String>();
		map.put("map1", "1");
		map.put("map2", "2");
		map.put("map3", "3");
		
		Set<String> keys = map.keySet();
		for (String key : keys) {
			System.out.println(key+"---"+map.get(key));
		}
	}
	/**
	 * 方法一 :如果只需要map中的键或者值,你可以通过keySet或values来实现遍历
	 * 比entrySet性能
	 */
	public void testMap2(){
		Map<String, String> map = new HashMap<String, String>();
		map.put("map1", "1");
		map.put("map2", "2");
		map.put("map3", "3");
		
		Set<String> keys = map.keySet();
		for (String key : keys) {
			System.out.println("key:"+map.get(key));
		}
		for (String value :  map.values()) {
			System.out.println("value:"+value);
		}
	}
	/**
	 * 方法三:使用Iterators
	 */
	public void testMap3(){
		Map<String, String> map = new HashMap<String, String>();
		map.put("map1", "1");
		map.put("map2", "2");
		map.put("map3", "3");
		Iterator<Entry<String, String>> iterators = map.entrySet().iterator();
		while(iterators.hasNext()){
			Entry<String, String> entry = iterators.next();
			System.out.println(entry.getKey()+"---"+entry.getValue());
		}
	}
	
	/**
	 * 方法四 :通过键找值遍历(效率低)
	 */
	public void testMap4(){
		Map<String, String> map = new HashMap<String, String>();
		map.put("map1", "1");
		map.put("map2", "2");
		map.put("map3", "3");
		
		for (Map.Entry<String, String> entry : map.entrySet()) {
			System.out.println(entry.getKey()+"--"+entry.getValue());
		}
	}
	public static void main(String[] args) {
		TestMap testMap = new TestMap();
		testMap.testMap1();
		System.out.println();
		testMap.testMap2();
		System.out.println();
		testMap.testMap3();
		System.out.println();
		testMap.testMap4();
	}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

java-遍历map

  • 2013年03月14日 17:11
  • 930B
  • 下载

java中List、Set、Map、Properties集合的遍历方法总结

一、遍历 List 集合public class TransList { public static void main(String[] args) { TransList t...

如何遍历Map-Java版源码

  • 2012年11月09日 21:55
  • 3KB
  • 下载

java中Map集合的常用遍历方法及HashMap的应用实例

Map的遍历大体有3种: 1、遍历Map.entrySet():它的每一个元素都是Map.Entry对象,这个对象中, 放着的就是Map中的某一对key-value; 2、遍历Map.keySe...

Java中Map集合的两种遍历方式

Map集合的第一种遍历方式:

【Java】集合(List、Set、Map)遍历、删除、比较元素时的小陷阱

阅读目录 一、漏网之鱼-for循环递增下标方式遍历集合,并删除元素二、ConcurrentModificationException异常-Iterator遍历集合过程中用其他手段(或其他线程)操作元...
  • azhegps
  • azhegps
  • 2016年10月23日 16:46
  • 1761

Java:JSTL遍历数组,List,Set,Map等

page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>  taglib p...

Java学习篇之Map集合的遍历方法集锦

Map集合的两类遍历方法,四种具体方式
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java遍历Map
举报原因:
原因补充:

(最多只允许输入30个字)