JavaSE_集合_Collection接口简介

在Java类库中,集合类的基本接口是Collection接口。 

迭代器:

在Collection接口中有iterator()方法用于返回一个实现了iterator接口的对象。可以使用这个迭代器对象依次访问集合中的所有元素。

可以这样遍历集合中的元素。

Collection c = ...;
foreach(String elememt : c){
    ...
}
应该将Java迭代器认为是位于两个元素之间,当调用next时。迭代器就越过下一个元素,并返回刚刚越过的那个元素的引用。

集合类的用户可以使用泛型接口中一组更加丰富的方法,而实际的数据结构实现者并没有实现所有例行方法的负担。

java.util.Collection

1)    Iterator iterator();  返回一个用于访问集合中每个元素的迭代器。

2)    int size(); 返回存储在当前集合的元素个数。

3)    boolean isEmpty(); 如果集合中没有元素则返回true。

4)    boolean contains(Object obj); 如果集合中包含了一个与obj相等的对象返回true。

5)    boolean containsAll(Collection other); 如果集合包含other集合中的所有元素返回true。

6)    boolean add(Object element); 讲一个元素添加到集合中。如果由于这个调用改变了集合返回true。

7)    boolean addAll(Collection other); 将other集合中的所有元素添加到这个集合。如果由于这个调用改变了集合返回true。

8)    boolean remove(Object obj); 从这个集合中删除等于obj的对象。如果有匹配的对象被删除返回true。

9)    boolean removeAll(Collection other); 从这个集合中删除other集合中存在的所有元素。如果由于这个调用改变了集合返回true。

10)  void clear(); 从这个集合中删除所有元素。

11)  boolean retainAll(Collection other); 从这个集合中删除所有与other集合中元素不同的元素。如果这个调用改变了集合返回true。

12)  Object[] toArray(); 返回这个集合的对象数组。


java.util.Iterator

1) boolean hasNext(); 如果存放访问的元素返回true。

2) E next(); 返回将要访问的下一个对象。如果已经到达了集合的尾部将抛出一个NoSuchElementException异常。

3) void remove(); 删除上次访问的对象。如果上次访问之后集合已发生了变化(比如添加、删除了元素)这个方法将会抛出一个IllegalStateException异常。


对集合的增、删、改都会使当前的迭代器失效。

以下展示了一些Java类库中的集合,这些类都实现了Collection接口。往下会一一详细介绍

集合类型 描述
ArrayList 可以动态增长和缩减的索引序列
LinkedList 可以在任何位置进行进行高效地插入和删除操作的有序序列
ArrayDeque 用循环数组实现的双端队列
HashSet 没有重复元素的无序集合
TreeSet 有序集
EnumSet 包含枚举类型值的集
LinkedHashSet 可以记住元素插入次序的集
PriorityQueue 允许高效删除最小元素的集合


你可能感兴趣的:(01_JavaSE)