List简介(二)
Java集合系列
List简介
vector
Vector是矢量队列,是JDK1.0版本添加的类。JDK1.2版本中做了变更,继承于AbstractList,实现了List, RandomAccess, Cloneable,继承了AbstractList。
在Vector中存在一些方法功能和List接口中的功能是类似的,但是方法名不同这些方法不建议使用,但是也可以使用;
-
实现了List;所以它是一个队列,支持相关的添加、删除、修改、遍历等功能。
-
实现了RandmoAccess接口,即提供了随机访问功能。(RandmoAccess是java中用来被List实现,为List提供快速访问功能的。)在Vector中,我们即可以通过元素的序号快速获取元素对象;这就是快速随机访问。
-
实现了Cloneable接口,即实现clone()函数。它能被克隆。
Vector的扩容:初始容量10,扩容一倍 10->20->40->80
和ArrayList不同,Vector中的操作是线程安全的(意味着执行效率低)。
【构造函数】
【方法实例】
stack
Stack:栈,特性是先进后出(FILO, First In Last Out)
java工具包中,Stack继承于Vector(矢量队列),由于Vector是通过数组实现的,意味着Stack也是通过数组实现的,而非链表。
当然,我们也可以将LinkedList当作栈来使用。
【构造方法】
Stack()//仅此一个
【常用API】
- boolean empty()
- synchronized E peek()
- synchronized E pop()
- E push(E object)
- synchronized int search(Object o)//返回对象在堆栈中的位置,以1为基数(栈顶)
【实例】