[英]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>
声明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
抽象化,而实现类也可以实现此类方法?
类层次结构中没有关系。 Collections
只是一个充满实用程序方法的类,可以在Collection
类上使用。
对于想要实现自己的List
类的人们来说, AbstractList
只是一个很好的帮助。 扩展AbstractList
可以避免编写大量样板代码,因为您可以重复使用已经存在的代码。 正如javadoc所说:
此类提供List接口的基本实现,以最大程度地减少实现由“随机访问”数据存储(例如数组)支持的该接口所需的工作。
非正式惯例是通过在相关的“真实”类的名称中添加s来命名实用程序类(充满所有或主要是静态方法的类)。 例如, Google Guava库具有实用程序类Boolean,Bytes,ByteStreams,Callables,Floats,...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.