List
Vector 类
java.util包
是ArrayList集合 早期版本
(StringBuffer类早期 Stringbuilder后来)
vector底层也是用动态数组来存储
vector是线程同步的 安全性高 效率低
扩容方式与ArrayList不同
默认是扩容两倍 可以通过构造方法创建对象时修改这一机制
Stack类 栈
java.util包
构造方法只有一个无参数
只有几个特殊的方法
push(E e)将某个元素压入栈顶(add())
E = pop()将某一个元素从栈顶取出并删掉(E = remove())
E = peek()将某一个元素从栈顶取出并删除掉(E = remove())
boolean = empty()判断栈顶元素是否为空(isEmpty)
int = search()查找给定元素在栈中的位置(indexof())
中国象棋 悔棋
栈中存储每一次的操作步骤
撤销功能
Queue接口
java.util
通常子类 Linklist ArrayQueque
通常用无参构造方法实现
一般方法
add()
element()----->get()
remove()
boolean = offer(E e);//相当于add 不会抛出异常
E = peek();//相当于element方法
E =poll; 剪短//相当于remove()
双十一秒杀
所有进入秒杀系统的人存入队列
ArrayList
Linklist类
java.util包
自己封装过LinkBox 内部类Node<T>对象(节点 prev item next)
底层就是使用双向链表的数据结构形式来存储
适合插入或删除不适合遍历轮循
构建对象
无参构造方法 带参数的构造方法(collection)
常用的方法
增删改查 add() remove() set() get() size()
手册中提供其他常用方法
addAll() addFirst() clear() contains()
element() getFirst() getLast() indexOf() lastindex()
....