实现思想 :
- Map接口的方法 Set< Map.Entry<Key,Value> > entrySet()
- 方法返回Set集合,集合中存储的元素,比较特别
- 存储的是Map集合中,键值对映射关系的对象 , 内部接口 Map.Entry
public static void mapEntrySet(){
Map<String,String> map = new HashMap<String, String>();
map.put("a","java");
map.put("b","c++");
map.put("c","php");
map.put("d","python");
map.put("e","erlang");
//Map接口的方法 Set< Map.Entry<Key,Value> > entrySet()
Set<Map.Entry<String,String>> set = map.entrySet();
//- 遍历Set集合
Iterator<Map.Entry<String,String>> it = set.iterator();
while (it.hasNext()){
//取出Set集合的元素
Map.Entry<String,String> entry = it.next();
//- 接口的对象方法: getKey() ,getValue()
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key +"==="+ value);
}
}
Map.Entry<String,String> entry = it.next()
说下我个人的理解,当时第一时间没有懂。
首先先要明确it
即Iterator<Map.Entry<String,String>> it = set.iterator();
其中这段代码一时间也不好看懂,但是如果与Iterator<String> it = set.iterator();
一比较发现其实区别就在于Iteratro<>
尖括号中的类型不同,把Map.Entry<String,String>
当做String
来看待,就会清晰很多。