| 
 
| Map 中存放的是两种对象,一种称为key(键),一种称为value(值),它们在在 Map 中是一一对应关 系,这一对对象又称做 Map 中的一个 Entry( 项) 。 Entry 将键值对的对应关系封装成了对象。即键值对对象,这
 样我们在遍历 Map 集合时,就可以从每一个键值对( Entry )对象中获取对应的键与对应的值。
 既然Entry表示了一对键和值,那么也同样提供了获取对应键和对应值得方法:
 public K getKey() :获取Entry对象中的键。
 public V getValue() :获取Entry对象中的值。
 在Map集合中也提供了获取所有Entry对象的方法:
 public Set<Map.Entry<K,V>> entrySet() : 获取到Map集合中所有的键值对对象的集合(Set集合)。
 Map 集合遍历键值对方式
 键值对方式:即通过集合中每个键值对(Entry)对象,获取键值对(Entry)对象中的键与值。
 操作步骤与图解:
 1. 获取Map集合中,所有的键值对(Entry)对象,以Set集合形式返回。方法提示: entrySet() 。
 2. 遍历包含键值对(Entry)对象的Set集合,得到每一个键值对(Entry)对象。
 Set<String> keys = map.keySet();
 // 遍历键集 得到 每一个键
 for (String key : keys) {
 //key  就是键
 //获取对应值
 String value = map.get(key);
 System.out.println(key+"的CP是:"+value);
 }
 }
 }
 北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
 3 . 通过键值对(Entry)对象,获取Entry对象中的键与值。 方法提示: getkey() getValue()
 
 tips:Map集合不能直接使用迭代器或者foreach进行遍历。但是转成Set之后就可以使用了。
 1.7 HashMap 存储自定义类型键值
 练习:每位学生(姓名,年龄)都有自己的家庭住址。那么,既然有对应关系,则将学生对象和家庭住址存储到
 map集合中。学生作为键, 家庭住址作为值。
 注意,学生姓名相同并且年龄相同视为同一名学生。
 编写学生类:
 public class MapDemo02 {
 public static void main(String[] args) {
 // 创建Map集合对象
 HashMap<String, String> map = new HashMap<String,String>();
 // 添加元素到集合
 map.put("胡歌", "霍建华");
 map.put("郭德纲", "于谦");
 map.put("薛之谦", "大张伟");
 // 获取 所有的 entry对象  entrySet
 Set<Entry<String,String>> entrySet = map.entrySet();
 // 遍历得到每一个entry对象
 for (Entry<String, String> entry : entrySet) {
 // 解析
 String key = entry.getKey();
 String value = entry.getValue();
 System.out.println(key+"的CP是:"+value);
 }
 }
 }
 | 
 |