java - 为什么我们不能直接通过具体类来实现集合接口(interface)?

标签 java collections

Collection 接口(interface)定义了最常见的通用方法,可适用于任何 Collection 对象。

一些方法如下:

1) boolean add(Object obj)

2) boolean addAll(集合 c)

3) boolean 删除(对象obj)

4) boolean removeAll(Collection c) (删除特定组 对象。)

5) boolean keepAll(Collection c) (删除除 c 中存在的那些)

我想知道这个说法的理由。

There is no concrete class which implements collection interface directly.

最佳答案

没有什么可以阻止您创建 Collection 的具体直接实现。然而,这样的实现可能会有一些 Collection 合约未涵盖的附加属性。

例如,如果您的 Collection 实现的元素有顺序,您也可以实现 List 接口(interface)。

另一方面,如果您的 Collection 实现的存储不允许重复元素,您不妨实现 Set 接口(interface)。

...等等。

这可能会让您了解为什么标准集合库的设计者认为不需要具体的直接实现。

关于java - 为什么我们不能直接通过具体类来实现集合接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38091470/

相关文章:

java - 为什么Java中没有WeakList和WeakSet的实现?

java - 如何在 Java 中创建充满方法的列表并对其进行迭代(使用方法)

java - 通过谓词划分集合的库方法

java - SimpleDateFormat setTimeZone 不工作

java - Panel.repaint() 似乎没有刷新面板

java - java 中的 mod_dav_svn 替换?

java - 我如何告诉 swagger-codegen 我的自定义生成器?

java - Sonar 错误条件不应无条件评估为 "TRUE"或 "FALSE"

java - Java 中的 ArrayList 内的 Arraylist 内的 Arraylist

java - 在 Java 中重写私有(private)方法对代码输出没有影响。为什么?