集合就是一个可变长度的用来存放数据的容器,准确的说是存放数据对象引用的容器,集合类存放的都是对象的引用,而不是对象的本身(不能存储基本数据类型)。集合类存放于 Java.util 包中,主要有 3 种:set、list和 map。
-
1. Collection:Collection 是集合 List、Set、Queue 的最基本的接口。
-
2. Iterator:迭代器,可以通过迭代器遍历集合中的数据
-
3. Map:是映射表的基础接口
-
数组是固定长度的;集合可变长度的。
-
数组可以存储基本数据类型,也可以存储引用数据类型;集合只能存储引用数据类型。
-
数组存储的元素必须是同一个数据类型;集合存储的对象可以是不同数据类型。
Collection 和 Collections 有什么区别?
-
Collection是最基本的集合接口,Collection派生了两个子接口list和set,分别定义了两种不同的存储方式。
-
Collections是一个包装类,它包含各种有关集合操作的静态方法(对集合的搜索、排序、线程安全化等),此类不能实例化,就像一个工具类,服务于Collection框架。
-
List :存储的元素是有序的(按对象的顺序保存对象)、可重复的,允许多个Null元素对象,每个元素都有索引。
-
Set:存储的元素是⽆序的、不可重复的,最多允许一个Null元素对象,只能通过迭代器或foreach的方式进行遍历。
-
Map:以键值对(kye-value)的方式存储元素,Key 是⽆序的、不可重复的,value 是⽆序的、可重复的,每个键最多映射到⼀个值。Map没有继承于Collection接口,从Map集合中检索元素时,只要给出键对象,就会返回对应的值对象。