Map集合的遍历方式(迭代方式)

Map集合的遍历方式(迭代方式)

1、可以获得Map实例中所有的Key组成Set集合(keySet()),
随后使用迭代器iterator对key组成的Set集合进行迭代或者使用for-each方式进行迭代

2、可以获得Map实例中的所有Entry组成的Set集合(entrySet)(被称作键值集),
每一个Entry实例中都包含了key和value,
随后使用迭代器iterator对Entry组成的Set集合(entrySet)进行迭代或者使用for-each方式进行迭代

3、可以获得Map实例中所有的value组成Collection集合(被称作值集),
随后使用迭代器iterator对value组成的Collection集合进行迭代或者使用for-each方式进行迭代;
但是Map中只提供了根据key获取value的支持,没有根据value获取key的支持
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;

public class MapTest {

	public static void main(String[] args) {
		Map<String, Object> map = new HashMap<>();
		map.put("a", 1);
		map.put("b", 2);
		map.put("c", 3);
		map.put("d", 4);
		// Map集合循环遍历方式一
		System.out.println("第一种:通过Map.keySet()遍历key和value:");//
		for (String key : map.keySet()) {// keySet获取map集合key的集合 然后在遍历key即可
			String value = map.get(key).toString();//
			System.out.println("key:" + key + "  value:" + value);
		}
		System.out.println("第一种:通过Map.keySet()使用iterator遍历key和value:");
		Iterator<String> iter = map.keySet().iterator();
		while (iter.hasNext()) {
			String key = iter.next();
			Object value = map.get(key);
			System.out.println("key:" + key + "  value:" + value);
		}

		// Map集合循环遍历二 通过迭代器的方式
		System.out.println("第二种:通过Map.entrySet()使用iterator遍历key和value:");
		Iterator<Entry<String, Object>> it = map.entrySet().iterator();
		while (it.hasNext()) {
			Entry<String, Object> entry = it.next();
			System.out.println("key:" + entry.getKey() + "  value:" + entry.getValue());
		}
		System.out.println("----------------------------------");
		// Map集合循环遍历方式二 推荐,尤其是容量大时
		System.out.println("第二种:通过Map.entrySet()遍历key和value");
		for (Map.Entry<String, Object> m : map.entrySet()) {
			System.out.println("key:" + m.getKey() + "  value:" + m.getValue());
		}
		System.out.println("----------------------------------");
		// 第三种:获取所有的value组成的Collection集合( Set接口继承了Collection接口)
		// Map中提供了根据 key 获取 value 的支持,但是没有根据 value 获取 key 的支持
		System.out.println("第三种:通过Map.values()遍历所有的value,但不能遍历key");
		Collection<Object> values = map.values(); // 获取所有的value

		for (Object value : values) {
			System.out.println("key:" + value);
		}

		System.out.println("- - - - - - - - - - - - - -");

		Iterator<Object> itor = values.iterator();
		while (itor.hasNext()) {
			Object value = itor.next();
			System.out.println("key:" + value);
		}
	}
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值