Java中Map遍历的四种方法

Java 小智 285℃ 0评论

Java中Map遍历的四种方法


package com.set;

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

import org.junit.Before;
import org.junit.Test;

public class MapForEach {
	Map map = new HashMap();

	@Before
	public void initData() {
		map.put(1, "aaa");
		map.put(2, "bbb");
		map.put(3, "ccc");
		map.put(4, "ddd");
		System.out.println("初始化map大小" + map.size());
	}

	// 方法一:通过Map.keySet遍历key和value
	@Test
	public void forEach1() {
		// map.keySet()返回的是所有key的值
		for (Integer in : map.keySet()) {
			// 得到每个key值对用value的值
			String str = map.get(in);
			System.out.println("key= " + in + " and value= " + str);
		}
	}

	// 方法二:通过Map.entrySet遍历key和value
	// 此方法是最常见的,并且在大多数情况下也是最可取的遍历方式
	@Test
	public void forEach2() {
		// map.entrySet() 返回此映射中包含的映射关系的 Set视图
		for (Map.Entry entry : map.entrySet()) {
			System.out.println("key= " + entry.getKey() + 
					" and value= " + entry.getValue());
		}
	}

	// 方法三:通过iterator遍历key和value
	@Test
	public void forEach3() {
		Iterator> it = map.entrySet().iterator();
		while (it.hasNext()) {
			Map.Entry entry = it.next();
			System.out.println("key= " + entry.getKey() + 
					" and value= " + entry.getValue());
		}
	}

	// 方法四:通过values方法遍历value
	@Test
	public void forEach4() {
		for (String v : map.values()) {
			System.out.println("value= " + v);
		}
	}
}

本文固定链接:心知博客 » Java中Map遍历的四种方法
本站内容除特别标注外均为原创,欢迎转载,但请保留出处!

喜欢 (2)
发表我的评论
取消评论
表情

请填写您的昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址