java.util包中提供一些集合类,这些集合类又称为容器。集合类和数组的不同之处是,数组的长度是固定的,集合的长度是可变的;数组常用来存放基本类型的数据,集合常用来存放对象的引用。
1、Collection接口
Collection接口是层次接口中的根接口,通常不能直接使用,但是接口提供了添加元素、删除元素、管理元素的方法。
- add():将指定的对象添加到该集合中;
- addAll():添加集合中所有的对象;
- remove(Object o):将指定的对象从该集合中删除;
- isEmpty():返回boolean值,用于判断当前集合是否为空;
- size():返回int型值,获取该集合中元素的个数;
- contains:返回boolean值,确定集合中是否有指定的元素;
- clear():清空集合中的元素;
- toArray():把集合转成数组,实现集合的遍历;
- iterator():利用迭代器(Iterator),用于遍历集合中的对象;
2、List集合
List集合包括List接口以及List接口的所有实现类。List集合中的元素允许重复,各元素的顺序就是对象插入的顺序。用户可以通过元素在集合中的位置来访问集合中的元素。
1)List接口继承了Collection接口,因此包含了Collection中的所有的方法。此外,List接口还定义了两个重要的方法:
- get():获得指定索引位置的元素;
- set():将集合中指定索引位置的对象修改为指定的对象;
2)List接口的实现类:常用的有 ArrayList 和 LinkedList :
- ArrayList 类实现了可变的数组,允许保存所有的元素,包括null,并可以根据索引位置进行快速的随机访问对象,缺点就是指定索引位置的插入对象或删除对象有点缓慢;
- LinkedList 类采用链表结构保存对象,便于向集合中插入和删除对象,效率较高;但是随机访问集合中的对象时,该类效率较低;