集合框架-Map集合的遍历


package cn.itcast_01;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/*
 * Map集合的遍历。
 * Map -- 夫妻对
 * 思路:
 * 		A:把所有的丈夫给集中起来。
 * 		B:遍历丈夫的集合,获取得到每一个丈夫。
 * 		C:让丈夫去找自己的妻子。
 * 
 * 转换:
 * 		A:获取所有的键
 * 		B:遍历键的集合,获取得到每一个键
 * 		C:根据键去找值
 */
public class MapDemo3 {
	public static void main(String[] args) {
		// 创建集合对象
		Map<String, String> map = new HashMap<String, String>();

		// 创建元素并添加到集合
		map.put("杨过", "小龙女");
		map.put("郭靖", "黄蓉");
		map.put("杨康", "穆念慈");
		map.put("陈玄风", "梅超风");

		// 遍历
		// 获取所有的键
		Set<String> set = map.keySet();
		// 遍历键的集合,获取得到每一个键
		for (String key : set) {
			// 根据键去找值
			String value = map.get(key);
			
			System.out.println(key + "---" + value);
		}
	}
}


package cn.itcast_01;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/*
 * Map集合的遍历。
 * Map -- 夫妻对
 * 
 * 思路:
 * 		A:获取所有结婚证的集合
 * 		B:遍历结婚证的集合,得到每一个结婚证
 * 		C:根据结婚证获取丈夫和妻子
 * 
 * 转换:
 * 		A:获取所有键值对对象的集合
 * 		B:遍历键值对对象的集合,得到每一个键值对对象
 * 		C:根据键值对对象获取键和值
 * 
 * 这里面最麻烦的就是键值对对象如何表示呢?
 * 看看我们开始的一个方法:
 * 		Set<Map.Entry<K,V>> entrySet():返回的是键值对对象的集合
 */
public class MapDemo4 {
	public static void main(String[] args) {
		// 创建集合对象
		Map<String, String> map = new HashMap<String, String>();

		// 创建元素并添加到集合
		map.put("杨过", "小龙女");
		map.put("郭靖", "黄蓉");
		map.put("杨康", "穆念慈");
		map.put("陈玄风", "梅超风");

		// 获取所有键值对对象的集合
		Set<Map.Entry<String, String>> set = map.entrySet();
		// 遍历键值对对象的集合,得到每一个键值对对象
		for (Map.Entry<String, String> me : set) {
			// 根据键值对对象获取键和值
			String key = me.getKey();
			String value = me.getValue();
			System.out.println(key + "---" + value);
		}
	}
}

(4)Map集合的遍历

A:键找值

    a:获取所有键的集合

    b:遍历键的集合,得到每一个键

    c:根据键到集合中去找值

B:键值对对象找键和值

    a:获取所有的键值对对象的集合

    b:遍历键值对对象的集合,获取每一个键值对对象

    c:根据键值对对象去获取键和值

代码体现:

    
    Map<String,String> hm = new HashMap<String,String>();

    hm.put("it002","hello");

    hm.put("it003","world");

    hm.put("it001","java");

    //方式1 键找值

    Set<String> set = hm.keySet();

    for(String key : set) {

        String value = hm.get(key);

        System.out.println(key+"---"+value);
    }

    //方式2 键值对对象找键和值

    Set<Map.Entry<String,String>> set2 = hm.entrySet();

    for(Map.Entry<String,String> me : set2) {

        String key = me.getKey();

        String value = me.getValue();

        System.out.println(key+"---"+value);

    }




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZHOU_VIP

您的鼓励将是我创作最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值