List接口
特点:
有序
有索引(特有)
操作索引肯定要避免索引越界异样
void add(int index, E element); E get(int index); E remove(int index); E set(int index, E element); //用指定元素替换指定地位的元素 //并返回原元素
容许存储反复的元素
List遍历的三种形式:
1.一般for循环
for (int i = 0; i < str.size(); i++) { String s = str.get(i); System.out.println(s); }
2.迭代器遍历
Iterator<String> it = str.iterator(); while(it.hasNext()) { String next = it.next(); System.out.println(next); }
3.加强for循环
for (String s : str) { System.out.println(s); }
子类:ArrayList汇合
不是同步的,就是多线程,意味着速度快
子类:LinkedList汇合
LinkedList是一个双向链表,也是一个多线程,速度快
查问慢,增删快
应用LinkedList汇合特有的办法,不能应用多态(多态看不到子类特有的办法,除非向下转型)
有大量操作首尾元素的办法
void addFirst(E e); void addLast(E e);//等效于 add();办法 E getFirst(); E getLast(); E reomveFirst(); E removeLast(); E pop(); //从列表所示意的堆栈处弹出一个元素 //等于addFirst();办法
子类:Vector汇合
单列汇合的祖宗,呈现比拟早
底层是一个数组,同步单线程,速度慢,被ArrayList代替了