为什么要用集合不用数组?
<1>数组中存在的问题;
①复用度差!!!
对于数据操作有且只能支持一个数据类型,一旦需要操作其他类型,需要全部重构;
②数组空间固定!!!
数组的空间一旦在创建过程中确定,空间无法修改;
③方法比较少!!!
add remove modify get… java中并没有对数组操作提供太多有效的方法;
<2>对于以上问题集合都可以合理进行解决;
①复用性,java集合可以使用泛型进行限制,可以用户指定任意类型操作,满足普适应,也满足数据类型一致化;
②空间合理自动进行扩展,不需要考虑扩容问题;
③方法多;
集合架构:集合种类的简单介绍
<1>
Interface Collection<E>
java中所有集合的总接口;
<2>
Interface List<E>
List接口,数据存储可重复,有序;
①class ArrayList<E>
【重点】可变长数组;
②class LinkedList<E>
【重点】双向链表模式;
③class Vector<E>
线程安全可变长数组;
<3>
interface Set<E>
Set接口,数据存储不可以重复,无序;
①HashSet<E>
底层存储数据的结构是一个哈希表,存储效率,查询效率极高;
②TreeSet<E>
底层存储数据的结构是一个平衡二叉树,要求数据必须又比较方式;