在编程时,可以使用数组来保存多个对象,但数组长度不可变化,一旦在初始化数组时指定了数组长度,这个数组长度就是不可变的。如果需要保存数量变化的数据,数组就有点无能为力了。而且数组无法保存具有映射关系的数据,如成绩表为语文——79,数学——80,这种数据看上去像两个数组,但这两个数组的元素之间有一定的关联关系。
为了保存数量不确定的数据,以及保存具有映射关系的数据(也被称为关联数组),Java提供了集合类。集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。Java所有的集合类都位于java.util包下,提供了一个表示和操作对象集合的统一构架,包含大量集合接口,以及这些接口的实现类和操作它们的算法。
集合类和数组不一样,数组元素既可以是基本类型的值,也可以是对象(实际上保存的是对象的引用变量),而集合里只能保存对象(实际上只是保存对象的引用变量,但通常习惯上认为集合里保存的是对象)。
Java集合类型分为Collection和Map,它们是Java集合的根接口,这两个接口又包含了一些子接口或实现类。图1和图2分别为Collection和Map的子接口及其实现类。
Map接口结构
在图1和图2中,黄色块为集合的接口,蓝色块为集合的实现类。表1介绍了这些接口的作用。
表1Java集合接口的作用
对于Set、List、Queue和Map这4种集合,Java最常用的实现类分别是HashSet、TreeSet、ArrayList、ArrayDueue、LinkedList和HashMap、TreeMap等。表2介绍了集合中这些常用的实现类。
表2Java集合实现类的作用
原创文章,作者:admin,如若转载,请注明出处:https://www.qq65hfghe5.com/tg/96405.html