java的类集(collection)框架使你的程序处理对象组的方法标准化。
优点:
1。高性能。
2。框架必须允许不同类型的类集以相同的方式和高度互操作方式工作。
3。类集必须是容易扩展和修改的。
由类集框架创建的另一项是Iterator接口。一个迭代(iterator)程序提供了一个多用途的,标准化的方法,用于每次访问类集的一个元素。
类集接口
Collection 能使你操作对象组,它位于类集层次结构的顶层
List 扩展Collection去处理序列(对象的列表)
Set 扩展Collection去处理集合,集合必须包含唯一元素
SortedSet 扩展Set去处理排序集合
Collection类
AbstractCollection 实现大多数Collection接口
AbstractList 扩展AbstractCollection并实现大多数List接口
AbstractSequentialList 为了被类集使用而扩展AbstractList,该类集使用连续 而不是随即方式访问数据
LinkedList 通过扩展AbstractSequentialList来实现链接表
ArrayList 通过扩展AbstractList来实现动态数组
AbstractSet 扩展AbstractCollection并实现大多数set接口
HashSet 为了使用散列表而扩展AbstractList
TreeSet 实现存储在树中的一个集合。扩展AbstractSet
一。ArrayList
支持可随需要而增长的动态数组。
构造函数:
ArrayList()
ArrayList(Collection c)
ArrayList(int capacity)
其中第一个构造函数建立了一个空的数组列表。第二个构造函数建立了一个数组列表,该数组列表由类集c中的元素初始化。第三个构造函数建立了一个数组列表,该数组具有指定的初试容量(capacity)。容量用于存储元素的基本数组的大小,当元素被追加到数组列表的时候,容量会自动增加。
扩展ArrayList空间的方法: void ensureCapacity(int cap)
减小ArrayList数组的大小: void trimToSize()
通过迭代函数来访问类集
iterator是一个或者实现Iterator或者实现ListIterator接口的对象。
由Iterator定义的方法:
boolean hasNext() 如果存在更多的元素,则返回true,否则返回false
Object next() 返回下一个元素,如果无,则引发NoSuchElementException
void remove() 删除当前元素,如果试图在调用next方法后,调用remove() 方法,则引发IllegalStateException异常。
使用迭代函数
在通过迭代函数访问类集之前,必须得到一个迭代函数。每一个Collection类都提供一个Iterator()函数,该函数返回一个对类集头的迭代函数.