List(Interface)
ArrayList(Class)Vector(Class)linkedList(Class) List集合特点
有序有下标元素可以重复。 常用方法
void add(int index, Object o) //在index位置插入对象o。 boolean addAll(index, Collection c) //将一个集合中的元素添加到此集合中的index位置。 Object get(int index) //返回集合中index索引的元素。 List subList(int fromIndex, int toIndex) //返回fromIndex和toIndex之间的子集。 void list.remove(int index) // 删除索引为index的元素 void list.remove(E obj) // 删除obj对象 int list.indexOf(E str) // 获取元素str的最小索引 boolean isEmpty(E str) // 是否为空 boolean contains(E str) // 是否含有此元素比较类
| 类 | 实现原理 | 位置 | 效率 | 线程安全 | 增速 |
|---|---|---|---|---|---|
| ArrayList | 数组(必须连续空间,查询快,增删慢) | java.util.ArrayList | 快 | 不安全 | 创建时,为0->增加元素为10->之后1.5倍增速 |
| Vector【老,现在基本不用了】 | 数组(必须连续空间,查询快,增删慢) | java.util.Vector | 慢 | 安全 | 创建时,为0->增加元素为10->之后2倍增速(可以自定义增速) |
| linkedList | 双向链表(无需连续空间,查询慢,增删快。) | java.util.linkedList | - | 不安全 | - |
【1】【集合】Vector 源码分析【2】Java 集合(Collection)笔记【3】JAVA集合框架详解【4】Java集合 Collection、Set、Map、泛型 简要笔记



