java - java.util.Collections和java.util.Collection在Java中有什么关系吗?

标签 java list collections interface

我正在阅读集合以查看 Javadocs 中的实现层次结构。

Collections声明为public class Collections extendds Object

Collection<E>声明为public interface Collection<E> extends Iterable<E>

AbstractCollection声明为public abstract class AbstractCollection<E> implements Collection<E>

AbstractList声明为public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E>

我的问题是 1)Collections and Collection之间有什么联系吗? 。我没有看到任何东西extending Collections Class

2)需要什么AbstractList类,因为 AbstractList 中实现的方法类如 listIterator也可以抽象为 List Interface实现类也可以实现这样的方法吗?

最佳答案

  1. 类层次结构中没有关系。 Collections 只是一个充满实用方法的类,可以在 Collection 类上使用。

  2. AbstractList 对于想要实现自己的 List 类的人来说是一个很好的 helper 。扩展 AbstractList 可以让您免于编写大量样板代码,因为您可以重用其中已有的代码。作为javadoc说:

    This class provides a skeletal implementation of the List interface to minimize the effort required to implement this interface backed by a "random access" data store (such as an array).

关于java - java.util.Collections和java.util.Collection在Java中有什么关系吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19122976/

相关文章:

java - SimpleDateFormat 返回不同语言的字符串日期

java - 实际对象的类型和对象引用之间的继承关系

java - 我是否以错误的方式看待多线程? ( java )

python - 列表理解与列表和元组列表

scala - Scala排序是否稳定?

java - 仅当处理程序存在时命令才可见

python - 从 numPy 数组列表中删除重复项

algorithm - 排行榜的高效数据结构,即记录列表(名称、积分) - 高效搜索(名称)、搜索(排名)和更新(积分)

java - 使用 Java Collections/Map 以编程方式执行 SQL 查询

.net - .Net 中是否有一个集合仅支持排序值。不需要 key 吗?