二、查阅API
方法
Set<Map.Entry<K,V>> entrySet()
返回此映射所包含的映射关系的 Set 视图。
-------------------------------------------------------------------
接口 Map<K,V>
嵌套类摘要
static interface Map.Entry<K,V>
映射项(键-值对)。
--------------------------------------------------------------------
接口 Map.Entry<K,V>
正在封闭接口:
Map<K,V>
映射项(键-值对)。Map.entrySet 方法返回映射的 collection 视图,其中的元素属于此类。
获得映射项引用的唯一 方法是通过此 collection 视图的迭代器来实现。
这些 Map.Entry 对象仅 在迭代期间有效。
方法摘要
boolean equals(Object o)
比较指定对象与此项的相等性。
K getKey()
返回与此项对应的键。
V getValue()
返回与此项对应的值。
int hashCode()
返回此映射项的哈希码值。
V setValue(V value)
用指定的值替换与此项对应的值(可选操作)。
Map.Entry 其实Entry也是一个接口,它是Map接口中的一个内部接口。
/*
interface Map
{
public static interface Entry
{
public abstract Object getKey();
public abstract Object getValue();
}
}
class HashMap implements Map
{
class Hahs implements Map.Entry
{
public Object getKey(){}
public Object getValue(){}
}
}
*/
/*
-----------------------------------------------------------------------
思路和原理都与方式一一样!
1 Map把所有的键值映射关系存入Set<Map.Entry<String,String>>
2 在Set中调用迭代器
3 取出键值映射关系
4 取出键和值
*/
- import java.util.*;
- public class MapDemo2
- {
- public static void main(String[] args)
- {
- sop("方式二取出所有键值");
- getWay_2();
- }
-
- //方式二取出键值
- public static void getWay_2()
- {
- //创建Map子类对象
- Map<String,String> map = new HashMap<String,String>();
- //添加键值对
- map.put("id001","Jack");
- map.put("id004","Tom");
- map.put("id002","Jane");
- map.put("id003","Jimmy");
- //打印原映射
- sop("原映射"+map);
- //1 Map把所有的键值映射关系存入Set
- Set<Map.Entry<String,String>> entry = map.entrySet();
- //2 获取迭代器
- for(Iterator<Map.Entry<String,String>> it = entry.iterator(); it.hasNext(); )
- {
- //3 取出键值映射关系
- Map.Entry<String,String> me = it.next();
- //4 取出键和值
- String key = me.getKey();
- String value = me.getValue();
- //5 打印
- sop("key="+key+",对应value="+value);
- }
- }
-
- public static void sop(Object obj)
- {
- System.out.println(obj);
- }
- }
复制代码
第二种方式总结:
2,Set<Map.Entry<k,v>> entrySet:
将map集合中的映射关系存入到了set集合中,
而这个关系的数据类型就是:Map.Entry
Entry其实就是Map中的一个static内部接口。
为什么要定义在内部呢?
因为只有有了Map集合,有了键值对,才会有键值的映射关系。
关系属于Map集合中的一个内部事物。
而且该事物在直接访问Map集合中的元素。
|
|