List集合结构
- List(Interface)
- ArrayList(Class)
- Vector(Class)
- LinkedList(Class)
List集合特点
常用方法
boolean .add(E e)
void .add(int index, E e)
boolean .addAll(index, Collection c)
viod .clear()
E .remove(int index)
boolean .remove(E e)
boolean .removeAll(Collection c)
E .set(int index, E e)
E .get(int index)
List .subList(int fromIndex, int toIndex)
int .size()
int .indexOf(E e)
boolean .isEmpty(E e)
boolean .contains(E e)
boolean .contains(Collection c)
Object[] .toArray()
比较类
类 | 实现原理 | 位置 | 效率 | 线程安全 | 增速 |
---|
ArrayList | 数组(必须连续空间,查询快,增删慢) | java.util.ArrayList | 快 | 不安全 | 创建时,为0->增加元素为10->之后1.5倍增速 |
Vector【老,现在基本不用了】 | 数组(必须连续空间,查询快,增删慢) | java.util.Vector | 慢 | 安全 | 创建时,为0->增加元素为10->之后2倍增速(可以自定义增速) |
LinkedList | 双向链表(无需连续空间,查询慢,增删快。) | java.util.LinkedList | - | 不安全 | - |
参考资料