您的位置:首页 > 运维架构 > 网站架构

Java集合系列02 Collection架构

2017-04-21 06:43 701 查看
参考链接:http://www.cnblogs.com/skywang12345/p/3308513.html

首先,我们对Collection进行说明。下面先看看Collection的一些框架类的关系图:



Collection是一个接口,它主要的两个分支是:List和Set.

List和Set都是接口,它们继承于Collection.List是有序的队列,List中可以有重复的元素;而Set是数学概念中的集合,Set中没有重复元素!

List和Set都有它人各自的实现类。

为了方便,我们抽象出了AbstractCollection抽象类,它实现了Collection中绝大部分函数;这样,在Collection的实现类中,我们就可以通过继承AbstractCollection省去重复编码。AbstractList和AbstractSet都继承于AbstractionCollection,具体的List实现类继承于AbstractList,而Set的实现类继承于AbstractSet。

加外,Collection中有一个Iterator()函数,它的作用是返回一个Iterator接口。通常,我们通过Iterator()迭代器来遍历集合。ListIterator是List接口所特有的,在List接口中,通过ListIterator()返回一个Listerator对象。

Collection接口的定义

它是一个接口,是高度抽象出来的集合,它包含了集合的基本操作:添加、删除、清空、遍历(读取)、是否为空、获取大小、是否保护某元素等等。

public interface Collection<E> extends Iterable<E>{}


Collection接口定义的方法

int size() //返回集合元素中的个数,如果元素的个数大于Interger.MAX_VALUE,则返回Integer.MAX_VALUE

boolean isEmpty() //判断集合有没有元素,如果没有元素返回true

boolean contains(Object o) //判断集合有有没有指定的元素

Iterator<E> iterator()//返回该集合的迭代器

Object[] toArray() //以数组的形式返回集合中的元素,并且按照集合本来的排序顺序(如果有序)

<T> T[] toArray(T[] a);

//更改操作
boolean add(E e) //添加
boolean remove(Object o) //删除

//大块的操作
boolean containsAll(Collection<?> c); /
4000
/判断是否包含
boolean addAll(Collection<? extends E> c);//添加集合
boolean removeAll(Collection<?> c); //删除集合
boolean retainAll(Collection<?> c) //交集
void clear() //清空集合

//比较和哈希操作
boolean equals(Object o);
int hashCode();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: