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

键找值方式:即通过元素中的键,获取键所对应的值。 分析步骤: 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
经验分享 程序员 微信小程序 职场和发展