所有集合类都位于java.util包下。集合中只能保存对象(保存对象的引用变量)。(数组既可以保存基本类型的数据也可以保存对象)。
当我们把一个对象放入集合中后,系统会把所有集合元素都当成Object类的实例进行处理。从JDK1.5以后,这种状态得到了改进:可以使用泛型来限制集合里元素的类型,并让集合记住所有集合元素的类型(参见具体泛型的内容)。
Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些接口或实现类。
Set 和 List 接口是 Collection 接口派生的两个子接口,Queue是Java提供的队列实现,类似于List。
- Collection 接口是一组允许重复的对象。
- Set 接口继承 Collection,但不允许重复,使用自己内部的一个排列机制。
- List 接口继承 Collection,允许重复,以元素安插的次序来放置元素,不会重新排列。
- Map接口是一组成对的键-值对象,即所持有的是key-value pairs。Map中不能有重复的key。拥有自己的内部排列机制。
- 容器中的元素类型都为Object。从容器取得元素时,必须把它转换成原来的类型。