Java遍历Map的四种方法及对比_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Java遍历Map的四种方法及对比

Java遍历Map的四种方法及对比

 2014/12/30 19:01:47  tzz6  程序员俱乐部  我要评论(0)
  • 摘要:Java遍历Map的四种方法及对比packagecn.sf.util;importjava.util.HashMap;importjava.util.Iterator;importjava.util.Map;importjava.util.Map.Entry;importjava.util.Set;publicclassTestMap{/***方法一在for-each循环中使用entries来遍历*这是最常见的并且在大多数情况下也是最可取的遍历方式
  • 标签:

Java遍历Map的四种方法及对比

class="java">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();
	}
}

?

上一篇: 在android中运行java main方法 下一篇: 没有下一篇了!
  • 相关文章
发表评论
用户名: 匿名