Map集合遍历方式--遍历键找值方式、遍历键值对方式

本文详细介绍了Java中Map集合的两种遍历方式:键找值方式和键值对方式。通过键找值方式,首先获取Map的所有键,再遍历键集,使用get()方法获取对应值。键值对方式则是通过entrySet()获取键值对集,然后遍历每个Entry对象,使用getKey()和getValue()获取键和值。两种方式分别展示了增强for循环和迭代器的使用方法。
摘要由CSDN通过智能技术生成

键找值方式:即通过元素中的键,获取键所对应的值。
分析步骤:
1. 获取Map中所有的键,由于键是唯一的,所以返回一个Set集合存储所有的键。方法提示: keyset()

2. 遍历键的Set集合,得到每一个键。 方法提示:  增强for循环方式、迭代器方式

3. 根据键,获取键所对应的值。方法提示: get(K key)

代码演示:

//Map集合遍历键找值方式
public class MapDemo1 {
	public static void main(String[] args) {
		//创建Map集合对象
		HashMap<Integer, String> map = new HashMap<Integer, String>();
		//添加元素
		map.put(1, "a");
		map.put(2, "b");
		map.put(3, "c");
		map.put(4, "d");
		//获取键集
		Set<Integer> keys = map.keySet(); //需指明Integer类型来与下面增强for的类型相匹配
		//增强for方式 遍历键集 得到每一个键
		for(Integer key : keys) {
			//通过键来获取对应的值
			String value = map.get(key);
			System.out.println(key + ":" + value);
		}
		
		Set keys1 = map.keySet(); //获取哈希映射map的键对象集合,这里也可不再重新创建keys1集合而直接用上面的keys集合
		Iterator it = keys1.iterator(); //获取键对象集合的迭代器
		//迭代器方式 遍历键对象集 得到每一个键对象
		while(it.hasNext()) {
			//通过键对象来获取键
			Integer key = (Integer)it.next(); //需将Object类型转换成Integer类型
			//通过键来获取对应的值
			String value = map.get(key);
			System.out.println(key + "=" + value);
		}
	}
}

输出结果:

1:a
2:b
3:c
4:d
1=a
2=b
3=c
4=d

键值对方式:即通过集合中每个键值对(Entry)对象,获取键值对(Entry)对象中的键与值。
分析步骤:
1. 获取Map集合中,所有的键值对(Entry)对象,以Set集合形式返回。方法提示: entrySet()  

2. 遍历包含键值对(Entry)对象的Set集合,得到每一个键值对(Entry)对象。方法提示:  增强for循环方式、迭代器方式。

3. 通过键值对(Entry)对象,获取Entry对象中的键与值。  方法提示: getkey() getValue() 

代码演示:

​//Map集合遍历键值对方式
public class MapDemo2 {
	public static void main(String[] args) {
		//创建Map集合对象
		HashMap<Integer, String> map = new HashMap<Integer, String>();
		//添加元素
		map.put(1, "a");
		map.put(2, "b");
		map.put(3, "c");
		map.put(4, "d");
		//获取键值对集
		Set<Entry<Integer, String>> entrys = map.entrySet();
		//增强for方式 遍历键值对集 得到每一个键值对
		for(Entry<Integer, String> entry : entrys) {
			//通过键值对获取键
			Integer key = entry.getKey();
			//通过键值对获取值
			String value = entry.getValue();
			System.out.println(key + ":" + value);
		}
		
		Iterator it = entrys.iterator();
		//迭代器方式 遍历键值对对象集 得到每一个键值对对象
		while(it.hasNext()) {
			//通过键值对对象获取键值对
			Entry<Integer, String> entry = (Entry<Integer, String>)it.next();
			//通过键值对获取键
			Integer key = entry.getKey();
			//通过键值对获取值
			String value = entry.getValue();
			System.out.println(key + "=" + value);
		}
	}
}
​

输出结果:

1:a
2:b
3:c
4:d
1=a
2=b
3=c
4=d 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值