集合的由来
数组长度是固定,如果要改变数组的长度需要创建新的数组将旧数组里面的元素拷贝过去,使用起来不方便
java给开发者提供了一些集合类,能够存储任意长度的对象,长度可以随着元素的增加而增加,随着元素的减少而减少,使用起来方便一些。
集合继承体系图
java提供了一些集合类,这些集合类分别适用于不同的场景,下面是常用的一些集合基础体系图。
里面的Collection是接口,下面的List、Set、Queue也都是接口,并且继承了这个Collection。最下面的ArrayList、LinkedList、Vector、HashSet、TreeSet、PriorityQueue都是他们的实现类。
集合类的一些特点
List:里面存放的数据是有顺序的,可以存放重复的数据。
Set:里面存放的数据是没有顺序的,不能存放重复的数据。
Queue:是一个队列,里面的数据是先进先出,可以存放重复的数据。
数组和集合的区别
区别1:
数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值
集合只能存储引用数据类型(对象),如果存储基本数据类型时,会自动装箱变成相应的包装类
区别2:
数组长度是固定的,不能自动增长
集合的长度的是可变的,可以根据元素的增加而自动增长