http://download.oracle.com/javase/tutorial/collections/interfaces/set.html
为什么Set接口列出了Collection中的所有方法?这些方法不是由子接口自动继承的吗?
答案 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的规范。个人集实施 应该清楚地记录对它们可能的要素的任何限制 包含。