List
存储的对象是有序的(集合中存储对象的顺序和使用add方法添加对象的顺序一致),存储的对象是可重复的。
List的特有的功能: 都是可以操作索引的功能。
-  增: - void add(int index, E element )
- boolean addAll(int index, Collection<? extends E> c)
 col.add("java"); col.add(1,"hello"); col.addAll(2,col2);
-  删 - E remove(int index)
 返回被删除的对象
 Object obj = col.remove(3);
- E remove(int index)
-  改 - E set(int index, E element)
 修改指定索引上的元素
 col.set(2,"bigdata");
- E set(int index, E element)
-  查 - E get(int index)
 得到指定位置上的元素
- ListIterator listIterator()
 返回此列表元素的列表迭代器(按适当顺序)。
- ListIterator listIterator(int index)
 从指定元素开始迭代
- List subList(int fromIndex, int toIndex)
 返回子List,不包括结束位置上的元素
- int indexOf(E element)
 获取元素的索引
- int lastIndex0f(E element)
 获取元素的最后一次出现的索引
- **void replaceAll(UnaryOperator operator) R apply(T t) **
 替换功能
 col.replaceAll(t->((String)t).concat("hehe"));- void sort (Comparator comparator) int compare(T o1, T o2)
 排序功能
 col.sort((o1,o2)->((String)o2).length()-((String)o1).length());
- E get(int index)
ArrayList
- 后缀:List,说明存储的数据有序,可重复
- 前缀:Array,说明该集合在存储数据时底层数据结构是数组
 数组的特点是便于查找,不便于添加和删除
Vector
- 线程安全的实现
- 该集合在存储数据时,底层数据结构是数组
遍历
Enumeration elements()
 hasMoreElements() nextElement()
Vector v=new Vector();
v.add("java01");
v.add("java02");
Enumeration en = v.elements();
while(en.hasMoreElements()){Object obj = en.nextElement();System.out.println(obj);
}		
LinkedList
-  后缀:List,说明存储的数据有序,可重复 
-  前缀:Linked,说明该集合在存储数据时,底层数据结构是链表  链表的特点是便于添加和删除,不便于查找 单向链表:  双向链表:  
方法
-  addFirst() addLast() 
 getFirst() getLast()
 removeFirst() removeLast()
-  jdk1.6以后 
 offerFirst() offerLast()
 peekFirst() peekLast()
 pollFirst() pollLast()
public static void main(String[] args) {LinkedList list=new LinkedList();list.addFirst("001");list.addFirst("002");list.addFirst("003");while(!list.isEmpty())//删除所有节点System.out.println(list.removeFirst());
//System.out.println(list.getFirst());//NoSuchElementException//System.out.println(list.peekFirst()); //null  不会异常//System.out.println(list.removeFirst());// 异常System.out.println(list.pollFirst());//null  不会异常
}
