首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Map和SortedMap -冗余方法声明

Map和SortedMap -冗余方法声明
EN

Stack Overflow用户
提问于 2012-11-04 15:06:48
回答 1查看 86关注 0票数 1

在检查MapSortedMap接口时,我注意到许多已经在Map接口中定义的方法也在SortedMap中重新定义(而不是简单地让其继承)。

SortedMap扩展Map,为什么要重新声明一些方法,比如:

代码语言:javascript
复制
Set<K> keySet();
Collection<V> values();

为什么会出现这种冗余?

(我使用JDK 7)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-04 15:39:59

我认为方法是在接口中声明的,方法是在类中定义的。

映射不保证是有序的,但排序的映射是有序的。这意味着每个方法保证的内容是不同的,需要不同的文档。

Map.keySet()的Javadoc是,它突出了的差异

返回此映射中包含的关键点的集合视图。该集合由地图支持,因此对地图的更改将反映在该集合中,反之亦然。如果映射在集合上进行迭代时被修改(除非通过迭代器自己的删除操作),则迭代的结果是未定义的。该集合支持元素删除,通过Iterator.remove、Set.remove、removeAll、retainAll和clear操作从映射中删除相应的映射。它不支持add或addAll操作。

返回:包含在此映射中的键的集合视图

SortedMap.keySet()的Javadoc是

返回此映射中包含的关键点的集合视图。集合的迭代器以升序返回关键字。集合由映射支持,因此对映射的更改会反映在集合中,反之亦然。如果映射在集合上进行迭代时被修改(除非通过迭代器自己的删除操作),则迭代的结果是未定义的。该集合支持元素删除,通过Iterator.remove、Set.remove、removeAll、retainAll和clear操作从映射中删除相应的映射。它不支持add或addAll操作。

由:接口映射中的keySet指定

返回:此映射中包含的键的集合视图,按升序排序

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13216769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档