集合
1.集合的定义
集合是一个存放对象的引用的容器
JAVA常见集合框架
2.List
List内所拥有的一些常见方法:
1. void add(int index, Object obj); //在指定下标位置添加元素obj
2. boolean add(E e); //添加元素e,成功返回true
3. E remove(int index); //删除指定下标的元素,并返回该元素
4. boolean remove(Object o); //删除首次出现的这个元素o
5. E set(int index, E element); //把指定下标位置的元素修改为e,并返回修改前的值
6. boolean isEmpty(); //集合是否为空(是:true;非:false)
7. boolean equals(Object o); //两个list完全一样(是:true)
8. E get(int index); //获取指定元素下标的元素
9. Iterator<E> iterator(); //迭代器
10.boolean contains(Object o); //是否包含此元素
List | 底层数据结构 | 查询速度 | 增删速度 | 线程安全 | 效率 | 是否可以存储重复元素 |
---|---|---|---|---|---|---|
ArrayList | 数组 | 快 | 慢 | 不安全 | 高 | 可以 |
LinkedList | 链表 | 慢 | 快 | 不安全 | 高 | 可以 |
Vector | 数组 | 快 | 慢 | 安全 | 低 | 可以 |
·ArrayList
-
ArrayList集合初始大小为0,首次添加数据后容量才变为10
-
最大长度(size)为Integer.Max_Value - 8
-
扩容条件:添加元素时发现(size + 1 > length),容量变为原来的1.5倍()。
-
ps: ArrayList是基于动态数组的数据结构。
ArrayList---->最常用
·LinkedList
1. //-------------添加-----
2. void addFirst(E e);//头插
3. void addLast(E e);