黑马程序员技术交流社区
标题:
关于Map.Entry
[打印本页]
作者:
贾振凯
时间:
2013-2-25 23:10
标题:
关于Map.Entry
Map类中又这么个方法:entrySet(),它返回Map中所包含的key-value对所组成的Set集合,其中Map中的每个元素,也就是key-value对,都是Map.Entry对象(Entry是Map的内部类)。
我查看了一下JDK API 中有一个Map.Entry接口
在它里面有这么一句话 public static interface Map.Entry<K,V>
我想问下,这是不是说明其实Entry是Ma接口的内部接口?
作者:
吴硕
时间:
2013-2-26 00:01
Map.Entry接口就是Map里的Entry接口
Entry是Map内部的一个接口:
interface Entry<K,V>
{
K getKey();
V getValue();
V setValue(V value);
boolean equals(Object o);
int hashCode();
}
复制代码
作者:
谢洋
时间:
2013-2-26 00:31
在Map的API文档中已有说明
嵌套类摘要
static interface Map.Entry<K,V> 映射项(键-值对)。
-------------------------------------------------------------
Map.Entry是描述Map中的键值对关系的接口类
因为Map没有迭代器,但可以通过Map.entrySet 方法返回映射的 collection 视图(Set集合),而这个集合中存放元素属于Map.Entry类。
也就是说此集合中存放着一系列Map.Entry类型的元素,这时就相当于拿到Map所在键值对的关系的对象了,
通过Map.Entry类中的方法,就可操作Map中的键值对了。
作者:
黄玉昆
时间:
2013-2-26 08:28
没错,Entry确实是Map中的内部接口,就相当于内部类一样,可以直接访问Map中的成员。
将Eentry定义在Map的内部,有两点原因:
1、Map是存放映射的集合,是先有这个Map集合,才能有映射关系,并且这种映射关系是Map中的内部事务,所以要定义在内部。
2、这个关系可直接访问Map内部的成员,可以对键值对这个关系进行读取。
而且,HashMap是实现Map的,它的内部又有内部类实现Map.Entry这个接口的,所以都是对应的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2