繁体   English   中英

Java中的java.util.Collections和java.util.Collection是否有任何关系?

[英]Do java.util.Collections and java.util.Collection have any relationship in Java?

我正在阅读集合,以了解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>

声明AbstractListpublic 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. 对于想要实现自己的List类的人们来说, AbstractList只是一个很好的帮助。 扩展AbstractList可以避免编写大量样板代码,因为您可以重复使用已经存在的代码。 正如javadoc所说:

    此类提供List接口的基本实现,以最大程度地减少实现由“随机访问”数据存储(例如数组)支持的该接口所需的工作。

非正式惯例是通过在相关的“真实”类的名称中添加s来命名实用程序类(充满所有或主要是静态方法的类)。 例如, Google Guava库具有实用程序类Boolean,Bytes,ByteStreams,Callables,Floats,...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM