集合类概述
集合的基本介绍
-
集合可以看作是一个容器,如红色的衣服可以看作是一个集合,所有Java类的书也可以看作是一个集合。
-
Java中提供了不同的集合类,这些类具有不同的存储对象的方式;同时提供了相应的方法,以方便用户对集合进行遍历、添加、删除和查找指定的对象。
-
集合里只能放对象,对于基本类型(int, long, float, double等),需要将其包装成对象类型后(Integer, Long, Float, Double等)才能放到集合里。很多时候拆包装和解包装能够自动完成。这虽然会导致额外的性能和空间开销,但简化了设计和编程。
-
集合类与数组的不同之处是:
1、数组既可以存储基本数据类型,又可以存储引用数据类型(基本数据类型存储的是值, 引用数据类型存储的是地址值)集合只能存储引用数据类型(对象), 集合中也可以存储基本数据类型,但是在存储的时候会自动装箱(JDK1.5新特性)变成对象
2、数组的容量是固定的,集合的容量是可以动态改变的
3、定义数组时必须声明数组元素类型;集合不需要声明,集合默认其中所有元素都是Object(不加泛型时添加的类型是Object);数组只能存储同一种类型的元素,集合可以存储不同类型的元素(Object)
4、数组进行增加和删除元素比较麻烦,集合进行增加和删除元素比较方便
5、集合以接口和类的形式存在,具有封装,继承和多态等类的特性,通过简单的方法和属性调用即可实现各种复杂的操作,大大提高软件的开发效率。
常用集合类的继承关系图
单列集合:Collection 接口有两个重要的子接口 LIst和Set,它们的实现子类都是单列集合。
双列集合:Map接口的实现子类都是双列集合,存放的是键值对