黑马程序员技术交流社区

标题: 【进来】Map.Entry<K,V> 这个所谓的关系是啥 [打印本页]

作者: 梦想注定是孤独    时间: 2014-3-2 15:37
标题: 【进来】Map.Entry<K,V> 这个所谓的关系是啥
HashMap的  entrySet() 方法获取到的 Map.Entry<K,V> 这个类 是个啥玩意  看着老师的视频 代码是敲出来了 可是底层还是想不通为何他这个叫“关系”的类是怎么来的

作者: ixiangfeng    时间: 2014-3-2 16:17
就是一种映射关系啊 然后你再想一下万物皆对象,把这种键值间的映射关系封装成对象 像老毕说的 老公是键老婆是值,他们间的关系就是entrySet了 ,或者你把他们间的关系想象成结婚证,  从这个夫妻关系(结婚证)中你可以取出键(老公)和值(老婆)
作者: 梦想注定是孤独    时间: 2014-3-2 16:57
ixiangfeng 发表于 2014-3-2 16:17
就是一种映射关系啊 然后你再想一下万物皆对象,把这种键值间的映射关系封装成对象 像老毕说的 老公是键老 ...

谢谢!!!
作者: twtzhongxin    时间: 2014-3-2 17:00
看了下API,Map.entry是一个接口,一个map的节点,这个节点封装了key,value,以及别的值(比如hashmap中的哈希码和next指针),使用Map.Entry类,你可以得到在同一时间得到所有的信息就不用每次从Map中取得关键字然后再取得相应的值。
作者: 行如止水    时间: 2014-3-2 18:10
这个容易点的理解就是一个配对信息,你可以想象一个很简单的类型:
Map.entrySet<K,V>
猪配对<公猪,母猪>
牛配对<公牛,母牛>
人配对<男人,女人>

其方法就更容易理解了:
这里有一个人配对的信息:       x = new 人配对<男人,女人>;        
设x里有内容,就可以用这样的方法:       x. 给我男人;       x.给我女人;
这样理解,容易多了。

作者: 朱神必    时间: 2014-3-3 14:51
楼主头像好萌啊,赞一个




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2