Java集合类是一种特别有用的工具类,可用于存储数量不等的对象,并可以实现常用的数据结构,如栈、队列等。除此之外,Java集合还可用于保存具有映射关系的关联数组。Java集合大致可分为Set、List、Queue和 Map四种体系,其中 Set代表无序、不可重复的集合;List代表有序、重复的集合。
在编程时,常常需要集中存放多个数据,使用数组来保存多个对象,但数组长度不可变化。数组无法保存具有映射关系的数据,为了保存数量不确定的数据,以及保存具有映射关系的数据,java提供了集合类。
Collection接口是List、Set和 Queue接口的父接口,该接口里定义的方法既可用于操作Set集合,也可用于操作List和 Queue集合。
EnumSet是一个专为枚举类设计的集合类,EnumSet 中的所有元素都必须是指定枚举类型的枚举值,该枚举类型在创建EnumSet时显式或隐式地指定。EnumSet的集合元素也是有序的,EnumSet以枚举值在 Enum类内的定义顺序来决定集合元素的顺序。
ArrayList和Vector类都是基于数组实现的List类,所以ArrayList 和 Vector类封装了一个动态的、允许再分配的Object[]数组。ArrayList或Vector对象使用initialCapacity参数来设置该数组的长度,当向ArrayList或 Vector中添加元素超出了该数组的长度时,它们的initialCapacity会自动增加。