/*Map集合的重要方法:
* Set<Map.Emtry<?>> entrySet();该方法是得到所有的映射关系放到Set集合中
- 该方法返回的是: 所有键与值的映射关系,既不是键也不是值,而是他们之间一一对应的关系,因为对应关系也是唯一的所以放在了Set<Map.Emtry<?>>中
- 注意: 键是唯一的,所以调用KeySet()方法时,把所有key存在了Set集合中,而value不是唯一的,放在了Collection集合中
- Map.Emtry<>有两个重要方法
- 1, K getKey();用迭代器可以依次得到所有的K,也就是键
- 2, V getValue();同上,可以得到所有的V,也就是值
- 3,V setValue(value);修改指定键上面的值,返回的是被修改的值
- 思路:
- 1,先用entry()方法,得到所有的映射关系,然后用Set<Map.Entry<?>>接收所有的映射关系
- 2,用迭代器,依次获取映射关系
- 3,利用Map.Entry<?>的 getKey()方法,getValue()方法分别获得所有的key和value
- */
package cn.MapZhongYaoMethod;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class MapZhongYaoMethod {
public static void main(String[] args) {
// TODO Auto-generated method stub
Map<Integer,String> map = new HashMap<>();
map.put(3,"hehe");
map.put(6,"haha");
map.put(1,"heihei");
map.put(8,"xixi");
Set<Map.Entry<Integer,String>> entrySet = map.entrySet();//接收所有的映射关系
Iterator<Map.Entry<Integer,String>> it = entrySet.iterator();//用迭代器依次获得所有的映射关系
while(it.hasNext()){
Map.Entry<Integer, String> en = it.next();//it.next()方法返回值类型不就是
//Iterator<Map.Entry<Integer,String>>中的<Map.Entry<Integer,String>>
Integer key = en.getKey();
String value = en.getValue();
System.out.println(key+":::"+value);
}
//获取所有的值:
Collection<String> coll = map.values();
Iterator<String> it2 = coll.iterator();
while(it2.hasNext())
System.out.println(it2.next());
}
}