JAVA开发常用类(三)

3. 集合与遍历

Java中的集合管理都是通过接口实现的,主要如下图:

clip_image001

说明如下:

接口名称

说明

List

元素有顺序,也允许重复,关注元素的索引列表

Set

元素无顺序,但不允许重复,关注元素的唯一性

Queue

元素形成队列,关注元素被处理的顺序

Map

关注元素在集合中的映射和键值的唯一性

Iterator

迭代器接口,从前向后输出的单向输出,用于遍历,操作过程中最好不要增加或删除数据

Comparator

比较器接口,某些集合需要对顺序进行排序时,可以将 Comparator 传递给 sort 方法(如 Collections.sort),从而允许在排序顺序上实现精确控制。

3.1. Collection及其子类的方法

方法名称

功能说明

List

Set

Queue

add

将指定对象添加到集合

remove

从集合中移除指定对象

contains

判断集合中是否存在指定的对象

size

返回集合中对象个数

clear

清除集合中所有对象

iterator

返回集合所有对象的迭代接口

toArray

返回集合所有对象的数组

toArray(T[])

返回集合中指定类型的对象数组

get

获得指定位置的元素

   

set

替换指定位置的元素

   

indexOf

获得指定对象的位置

   

comparator

返回与排序有关的比较强接口

 

 

firs/last

返回第一个/最后一个元素

 

 

element

获取但不移除队列头

   

peek

获取但不移除队列头

   

poll

获取并移除队列头

   

 

Collection接口的实现类包括:

类名称

说明

ArrayList

List 接口的大小可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。(此类大致上等同于 Vector 类,除了此类是不同步的。)

LinkedList

List 接口的链接列表实现。实现所有可选的列表操作,并且允许所有元素(包括 null)。除了实现 List 接口外,LinkedList 类还为在列表的开头及结尾 get、remove 和 insert 元素提供了统一的命名方法。这些操作允许将链接列表用作堆栈、队列或双端队列 (deque)。

EnumSet

与枚举类型一起使用的专用 Set 实现。枚举 set 中所有键都必须来自单个枚举类型,该枚举类型在创建 set 时显式或隐式地指定。枚举 set 在内部表示为位向量。此表示形式非常紧凑且高效。此类的空间和时间性能应该很好,足以用作传统上基于 int 的“位标志”的替换形式,具有高品质、类型安全的优势。如果指定的 collection 也是一个枚举 set,则批量操作(如 containsAll 和 retainAll)也应运行得非常快。

HashSet

此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持。它不保证集合的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用 null 元素。

Vector

Vector 类可以实现可增长的对象数组。与数组一样,它包含可以使用整数索引进行访问的组件。但是,Vector 的大小可以根据需要增大或缩小,以适应创建 Vector 后进行添加或移除项的操作。

Stack

Stack 类表示后进先出(LIFO)的对象堆栈。它通过五个操作对类 Vector 进行了扩展 ,允许将向量视为堆栈。它提供了通常的 pushpop 操作,以及取栈顶点的 peek 方法、测试堆栈是否为空的 empty 方法、在堆栈中查找项并确定到栈顶距离的 search 方法。

posted @ 2013-02-13 11:31  玻璃城市  阅读(374)  评论(0编辑  收藏  举报