JavaSE基础 (二十六)

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

通常用无参构造方法实现

一般方法

add()
element()----->get()
remove()
boolean = offer(E e);//相当于add  不会抛出异常
E = peek();//相当于element方法
E =poll; 剪短//相当于remove()

双十一秒杀

所有进入秒杀系统的人存入队列

ArrayList

Linklist类

java.util包

底层就是使用双向链表的数据结构形式来存储

适合插入或删除不适合遍历轮循

构建对象

无参构造方法 带参数的构造方法(collection)

常用的方法

增删改查 add() remove() set() get() size()
手册中提供其他常用方法
addAll() addFirst() clear() contains()
element() getFirst() getLast() indexOf() lastindex()
....