A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

©   /  2012-6-18 08:07  /  1601 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public Set<Map.Entry<K,V>> entrySet()返回此映射所包含的映射关系的 Set 视图。 该 set 受映射支持,所以对映射的更改将反映在此 set 中,反之亦然。如果在对 set 进行迭代的同时修改了映射(通过迭代器自己的 remove 操作,或者通过在该迭代器返回的映射项上执行 setValue 操作除外),则迭代结果是不确定的。该 set 支持元素的移除,通过 Iterator.remove、Set.remove、removeAll、retainAll 和 clear 操作可从该映射中移除相应的映射关系。它不支持 add 或 addAll 操作。
这是 API 的解释
我觉得已经说的很清楚了,我来给你解释下
他说明的是 返回的 set (Map.entry<k,v>) 和原来haspMap(k,v) 之间的关系
因为在对set进行迭代的时候在底层 都是调用 iterator 迭代器来遍历 集合中的元素的,而且,该set 返回的 iterator 会锁定该集合,多以该API文档的解释是,通过迭代器自己的 remove 操作,或者通过在该迭代器返回的映射项上执行 setValue 操作除外),则迭代结果是不确定的。
说明在迭代器上返回的 对象上,用 set 的方法去修改 会出现意外,一般情况下 是 通过iterator 遍历的元素,就必须通过 itetator 的方法来修改!
这个方法的解释说的就是 在 iterator 上操纵元素,和在该SET 上操纵元素之间的联系和区别

评分

参与人数 1技术分 +1 收起 理由
黄奕豪 + 1 赞一个!

查看全部评分

回复 使用道具 举报
潘东升 发表于 2012-6-18 08:29
hm.entrySet()这个的作用也就是entrySet方法的作用,该方法是把Map集合转化为Set集合的一种方法,然后通过S ...

楼上的说的对,应该是 MAP 我写错了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马