这篇文章是对自己学习的一个总结,学习资料是疯狂Java讲义第三版,李刚编,电子工业出版社出版。
-
注意:本文章只是记录自己在使用过程中,使用频率较高的与Collection有关的方法。
先看看Collection的继承架构,图片来自于疯狂Java讲义
这里先说一下使用Colleciton的方法。首先应该先声明定义一个集合类,比如定义TreeSet。
Collection c = new TreeSet();
注意上面的基础架构图中有些是类有些是接口,声明定义接口是会报错的,比如
Collection c = new Set(); //报错
现在开始讲方法
boolean add(Object o)
在集合内添加一个元素,对于Set这样没有重复元素的集合,添加重复元素的时候会失败,返回False。总之只要添加成功就返回true,否则返回false。
boolean addAll(Collection c)
这是将集合c的所有元素都添加到集合内。注意一下,它是可以跨集合添加的,比如TreeSet可以添加到LinkedHashSet,而且只要有一个元素添加成功就返回true,不是所有元素都添加成功才返回true。
void clear()
清楚集合内所有的元素
boolean contains(Object o)
查看集合内是否包含元素o,如果包含则返回true,否则返回false。
boolean containsAll(Collection c)
查看集合是否包含集合c的所有元素
boolean isEmpty()
查看集合是否为空。
boolean remove(Object o)
删除集合内的元素o,删除成功则返回true。注意,如果集合内有多个元素o,方法只删除集合内第一个元素o。
boolean removeAll(Collection c)
从集合中删除所有和集合c中一样的元素,只要有一个元素被删除了就返回true。
boolean retainAll(Collection c)
经历这个操作之后,集合内就只剩下集合和集合c的交集。只要有一个元素被删除了,就返回true。
int size()
返回集合的元素个数。
Object[] toArray()
将集合变成数组,数组里元素的类型是Object。
使用Iterator遍历集合元素
先定义一个集合的iterator
Iterator it = c.iterator();
c是已经声明定义的一个集合。下面是关于iterator的四种方法。
boolean hasNext();
只要集合中还有元素没有遍历过,这个方法就会返回true。一般是这样用的
while(it.hasNext()){
//遍历集合元素的操作
}
E next()
我们可以想象集合中有一个指针,集合中的元素是像数组那样线性排列的。当第一次使用it.next()时,指针就指向第一个元素并返回这个元素,然后我们可以不用写让指针有指向下一个元素这样的操作,只要再次写it.next(),指针就会指向第二个元素并返回这个元素。
void remove()
删除当前指针指向的元素,也就是上一条it.next()语句中返回的元素。