第8章
集合类与泛型程序设计
Java中的集合类结构
Java提供了集合类(Collection)及其API,于是用户可以通过统一的操作接口,使得从一种数据结构到另一种数据结构的转换极为方便,简化了程序员编程时的负担。
任何集合框架包括三部分内容:对外的接口、接口的实现和对集合运算的算法。集合API的根是一个集合接口,。Collection接口定义了所有属于集合的类都应该具有的通用方法。
Java中的集合类结构
Java集合框架结构由两颗接口树构成:
第一棵树根节点为Collection接口,它定义了所有集合的基本操作,如添加、删除、遍历等。它的子接口Set、List等则提供了更加特殊的功能。
第二棵树根节点为Map接口。与哈希表类似,保持的是键值对的集合,可以通过键来实现对值元素的快速访问。
Collection接口
Map接口
Collection接口
方法名
功能说明
boolean add(Object o)
插入单个对象
boolean addAll(Collection c)
添加另外一个集合对象c中的所有对象
Object[] toArray()
以数组的形式返回内容
Object[] toArray(Object[] a)
以数组的形式返回内容
Iterator iterator()
返回一个实现了Iterator接口的对象
void clear()
清空所有对象
boolean remove(Object o)
删除指定的对象
boolean ramoveAll(Collection c)
删除c中所拥有的对象
boolean retainAll(Collection c)
保留指定的对象
boolean contains(Object o)
检查是否包含有指定的对象
boolean containsAll(Collection c)
检查是否包含c中所包含的对象
boolean isEmpty()
判断集合是否为空
int size()
获取集合中的对象个数
Set接口
Set接口是一种不包含重复元素的Collection的子接口。Set接口中并没有引入新方法,它提供的基本方法和Collection接口类似。
Set接口派生了一个SortedSet接口和一个抽象类AbstractSet。SortedSet接口用来描述有序的元素集合,TreeSet实现了这个接口,它将放入其中的元素按序存放,要求其中的对象是可排序的。抽象类AbstractSet实现了部分Collection接口,并有一个子类HashSet,它以散列方式表示集合内容。
HashSet类
HashSet类是实现了Set接口的标准类,它创建了一个使用哈希表存储的集合,能快速定位一个元素,从而可以优化查询的速度,特别是在查找大集合时HashSet类比较有用。
HashSet的构造函数如下:
HashSet():创建一个空的哈希集。
HashSet(Collection c):创建一个哈希集,并且将集合c中所有元素添加进去。
HashSet(int initialCapacity):创建一个拥有特定容量的空哈希集。
HashSet(int initialCapacity,float loadFactor):创建一个拥有特定容量和加载因子的空哈希集。
,。加载因子定义了哈希集合充满什么程度时就要增加容量。即当元素的数目大于哈希集容量和加载因子之积时,哈希集容量将扩展。
List接口
List接口是包含有序元素的一种Collection子接口,其中的元素必须按序存放。元素之间的顺序关系可以由插入的时间先后决定,也可以由元素值的大小决定。
List接口使用类似于数组下标的索引的概念表示元素在List 中的位置。用户能够使用索引来访问List 中的元素。索引从0开始。为了保持元素的有序的特性,List接口新增加了大量的方法,使之能够在序列中间根据具体位置添加和删除元素。
Java程序设计 第08章 集合类与泛型程序设计 来自淘豆网m.daumloan.com转载请标明出处.