2
|——List:有序,可以重复,有角标。
|——Set:无序,不可以重复。
————————————————————————————————————
List:中特有的方法。依据角标进行操作的元素的方法。
1,添加(插入):add(index,obj)
2,删除:remove(index);
3,获取:get(index);
4,索引:
indexOf(obj);
lastIndexOf(obj);
5,取子列表:subList(start,end);
6,修改:set(index,obj);
7,list 集合支持列表迭代器 ListIterator:
Iterator 在迭代时,只能对元素进行获取(next())和删除(remove())的操作。
对于 Iterator 的子接口 ListIterator 在迭代 list 集合时,还可以对元素进行添加
(add(obj)),修改 set(obj)的操作。
List:
|--Vector: 底层是数组数据结构,jdk1.0 出现,线程是同步的。被 jdk1.2 版本后出
现的 ArrayList 替代,因为效率低。
|--ArrayList: 底层是数组数据结构,jdk1.2 出现,线程是不同步的。查询的速度快。
|--LinkedList: 底层是链表数据结构,线程是不同步的。增删的速度很快。
可以使用该集合去模拟出 队列(先进先出) 或者 堆栈(后进先出) 数据结构。
示例:day14:\LinkedListDemo.java;
Vector:该集合支持一种特有的取出方式:枚举(Enumeration)
枚举的功能和迭代器的功能是一致的。
因为枚举的功能方法名称过长,被迭代器取代。
LinkedList:特有的方法。
addFirst(): -->jdk1.6 offerFirst();
addLast(): -->jdk1.6 offerLast();
getFirst(); -->jdk1.6 peekFirst();
getLast(): -->jdk1.6 peekLast();
removeFirst(): -->jdk1.6 pollFirst();
removeLast(): -->jdk1.6 pollFirst();