集合的体系十分庞大,就是为了方便我们能够利用合适的不同内部结构的集合来对数据进行存放和读取。
一般来说有四大类。数组实现的集合(例如ArrayList,Vector),
链表实现的集合(如:LinekdList),数组加链表(如:Map),以及树结构的集合(TreeSet,TreeMap)。
采用合适的集合存放数据,可以方便我们后期的处理工作。
面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。
数组虽然也可以存储对象,但长度是固定的;
集合长度是可变的,因为内部实现了自动扩容;
数组中可以存储基本数据类型,集合只能存储对象。
集合如果再存放对象的时候存放的是基本类型,那么会发生自动装箱,以对应的基本类型的包装类存入集合中。
集合可以存储不同类型的对象,但是我们使用集合的时候一般会确定存放的对象类型,而不是把所有不同类型的对象统统存进去,那对于我们后期处理对象不利,没有任何意义。
因此在存放的时候加上泛型,约束存放对象的类型,便于后期操作。