您的位置:首页 > 编程语言 > Java开发

Java集合总结系列2:Collection接口

2016-05-04 11:01 351 查看
Collection 接口是 Java 集合类的一个根接口,Java 在 Collection 接口中定义了许多通用的数据操作类方法以及判断类方法。

通过查看 API 文档或源码的方式,我们可以了解到 Collection 接口中的方法大致分为两类:操作类方法和判断类方法。

操作类方法

boolean add(E e);

boolean addAll(Collection<? extends E> c);

boolean remove(Object o);

boolean removeAll(Collection<?> c);

void clear();

boolean retainAll(Collection<?> c); 仅仅保存集合c中的元素

Iterator<E> iterator();

判断类方法

boolean contains(Object o);

boolean containsAll(Collection<?> c);

boolean isEmpty();

int size();

Collection 接口中定义的这些方法都是 List、Set、Queue 这3种数据结构所共有的一些行为,因此适合作为父级接口的方法。

查看 Java 源码我们可以看到 Collection 接口还继承了 Iterable<E> 接口:

public interface Collection<E> extends Iterable<E>


而 Iterable<E> 接口定义如下:

/**
* Implementing this interface allows an object to be the target of
* the "foreach" statement.
*
* @param <T> the type of elements returned by the iterator
*
* @since 1.5
*/
public interface Iterable<T> {

/**
* Returns an iterator over a set of elements of type T.
*
* @return an Iterator.
*/
Iterator<T> iterator();
}


也就是说如果一个对象实现了这个接口,那么这个对象就可以用 foreach 循环读取集合元素。

可以看到在 Iterator<T> 中有一个 Iterator<T> 接口,其定义如下:

public interface Iterator<E> {

boolean hasNext();

E next();

void remove();
}


Iterator<T> 接口定义了进行 foreach 遍历时的接口,接口逻辑需要在具体的集合类中实现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: