为什么使用集合
数组缺点:长度固定,没有办法动态扩展
对象用于封装有数据,对象多了需要存储,如果对象的个数不确定。数组无法满足。就使用集合容器进行存储。集合容器因为内部的数据结构不同,有多种具体容器,不断的向上抽取,就形成了集合框架
框架的顶层是Collection接口,定义了集合框架中共性的方法
什么是集合框架
用于存储对象的容器,只要是对象类型就可以进行存进集合框架中。集合的长度是可变的。集合中不可能存储基本数据类型的值
Collection(接口) 单值集合/列表集合
List(接口 1.有序 2.可以重复) Set(1.无序 2.不能重复)
ArrayList(底层数值) Vector LinkedList(链表) HashSet ( HashMap (hash表(数组+链表)) ) TreeSet LinkedHashSet
List接口特点:有序,允许重复
ArrayList特点:动态数组;优势:随机查询(可以直接按索引访问)
- 实现了List接口
- ArrayLiat本质上还是数值:对数值做了封装。
- 查找快,插入删除满(因为会引起其他元素位置改变)