Java:为什么Set <e>提到Collection <e> </e> </e>中的所有方法

时间:2011-11-03 21:45:39

标签: java collections interface set

http://download.oracle.com/javase/tutorial/collections/interfaces/set.html

为什么Set接口列出了Collection中的所有方法?这些方法不是由子接口自动继承的吗?

3 个答案:

答案 0 :(得分:9)

它列出了所有内容,因为文档是不同的,即使声明本身是相同的。

答案 1 :(得分:2)

该链接是教程,而不是API文档。试试这个链接:

http://download.oracle.com/javase/6/docs/api/java/util/Set.html

答案 2 :(得分:1)

设置工作不同,然后收集 - 在设置中,您可以没有重复的条目。如果您只是从Collection中复制方法,那么您将实现Set wrong ...

就像凯西写的那样 - 文档是不同的(因为逻辑/使用是不同的)

Collection添加():

  

确保此集合包含   指定元素(可选操作)。如果是这样返回true   集合因呼叫而改变。 (如果是这样,则返回false   集合不允许重复,并已包含   指定的元素。)可以放置支持此操作的集合   可以添加到此集合的元素的限制。在   特别是,一些集合将拒绝添加null元素,并且   其他人会对可能的元素类型施加限制   添加。集合类应在其中明确指定   记录对可添加的元素的任何限制。

     

如果集合因任何原因拒绝添加特定元素   除了它已经包含元素,它必须抛出一个   异常(而不是返回false)。这保留了不变量   一个集合在此之后总是包含指定的元素   呼叫返回。

Set添加():

  

如果指定的元素尚不存在,则将其添加到此集合中   (可选操作)。更正式地,将指定的元素e添加到   如果集合中不包含元素e2(e == null?   e2 == null:e.equals(e2))。如果此集已包含元素,   调用使集合保持不变并返回false。结合   对构造函数的限制,这确保了永远不会   包含重复元素。上述规定并不意味着这一点   集必须接受所有元素;集合可能拒绝添加任何特定内容   element,包括null,并抛出异常,如中所述   Collection.add的规范。个人集实施   应该清楚地记录对它们可能的要素的任何限制   包含。