在Java中有一套设计优良的接口和类组成了Java集合框架,使程序员操作成批的数据或对象元素极为方便。所有的Java集合都在java.util包中。
1)、List接口及其实现类
List接口继承于Collection接口。 List接口及其实现类是容量可变的列表,可按索引访问集合中的元素。
特点:集合中的元素有序、可重复;
实现类:
· ArrayList是以Arayy方式实现的List,允许快速随机存取,相对于LinkedList不适合进行插入和移除元素操作;
· LinkedList提供最佳顺序存取,适合插入和移除元素。
2)、Set接口及其实现类
Set接口同样继承于Collection接口。
特点:集合中的元素无序、不包含重复的元素。
实现类:
· HashSet 能够快速定位一个元素,要注意的是:存入HashSet中的对象必须实现HashCode()方法;
· TreeSet 将放入其中的元素按序存放。
3)、Map接口及其实现类
Map是一个单独的接口,不继承于Collection。Map是一种把键对象和值对象进行关联的容器。
特点:键对象不允许重复。
实现类:
· HashMap 实现一个键到值映射的哈希表,通过键取得值对象;
· Properties 一般是把属性文件读入流中后,以键-值对的形式进行保存,以方便读取其中的数据。
4)、Iterator接口
Iterator接口位于java.util包中,它是一个对集合进行迭代的迭代器。
集合容器(如:List、Set、Map等)本身提供了处理元素置入和取出的方式,但是单一选取元素的方法很受限制。所以我们要用Iterator去选取容器中的元素,它将容器转换成一个序列。
Collection、Set和List的区别如下:
· Collection对象之间没有指定的顺序,允许有重复元素和多个null元素对象;它是Set和List接口的父类,是一种最通用型的集合接口;
· Set各个元素对象之间没有指定的顺序,不允许有重复元素,最多允许有一个null元素对象;
· List各个元素对象之间有指定的顺序,允许重复元素和多个null元素对象;