目录
(一)一起学 Java Collections Framework 源码之 概述
(二)一起学 Java Collections Framework 源码之 AbstractCollection
java.util.AbstractCollection 类提供了 java.util.Collection 接口的骨干实现,也是 Java 集合框架(JCF, Java Collections Framework)中列表(List/Set)族相对较为顶层的实现类,这一点大家通过上一篇博文的 图1 就可以看出来了。此类是抽象类,因此仅仅实现了 Collection 接口中一些最基本的方法。由于此类没有实现 List 接口,所以它的子类未必都是有序的,因此它可以作为 List(有序)实现类和 Set(无序)实现类的共同祖先类。
下面我们对 AbstractCollection 类中一些常见的方法实现逐个进行分析。
1.iterator() 方法
public abstract Iterator<E> iterator();
此方法返回一个迭代器,该迭代器用于遍历这个列表中的每一个元素。由于 java.util.Iterator 也是一个接口,所以不同的数据结构实现(也就是不同的子类)可以根据自己的需要来定义不同的迭代方式,所以此方法被定义为一个抽象方法,没有对它进行实现。
2.isEmpty() 方法
1 public boolean isEmpty() {2 return size() == 0;3 }
这个很好理解,用来判断当前集合是不是空的,不做过多的解释。
3.contains(Object o) 方法