加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – LinkedHashSet作为API公共方法的返回类型

发布时间:2020-12-15 05:20:05 所属栏目:Java 来源:网络整理
导读:让我们考虑以下示例. 编写具有返回唯一对象集合的公共方法的API. 我认为编写该方法的返回类型是很好的设置向用户显示项目是唯一的. 如果这些项目是唯一的并且是有序的,那么写一个返回类型LinkedHashSet是一个正确的想法,或者它最好是Collection? 我知道独特
让我们考虑以下示例.

编写具有返回唯一对象集合的公共方法的API.
我认为编写该方法的返回类型是很好的设置向用户显示项目是唯一的.
如果这些项目是唯一的并且是有序的,那么写一个返回类型LinkedHashSet是一个正确的想法,或者它最好是Collection?

我知道独特和分类的收藏品.我知道设置公共方法的返回类型类(TreeSet,SortedSet,LinkedHashSet)是个好主意.就oop而言.

解决方法

我建议不要返回LinkedHashSet(除非你有一个非常好的理由).如果您返回Set,则可以根据需要更改Set实现,例如HashSet,TreeSet等

在这种情况下,我认为您返回Set的建议很好,因为它确实表明这些项是唯一的.这也表明包含通常是快速的(O(1)或O(log n)).

另一方面,Collection非常通用,但它告诉调用者它是一个简单的旧组,对排序或唯一性没有任何特殊限制.指定Set意味着没有任何关于唯一性的混淆,您可以在任何可以使用Collection的任何地方使用它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读