Stack是栈,特点是FILO(先进先出),Stack继承了Vector
publicclass Stack<E> extends Vector<E>
stack中的方法是线程安全的,比如add方法
public E push(E item) {
addElement(item);
return item;
}
//线程安全的addElement方法所以push方法是先出安全的
public synchronized void addElement(E obj) {
modCount++;
ensureCapacityHelper(elementCount + 1);
elementData[elementCount++] = obj;
}
pop方法是弹出栈顶元素
public synchronized E pop() {
E obj;
int len = size();
obj = peek();
//删除最后的元素,最后的元素是新插入的
removeElementAt(len - 1);
return obj;
}
4.Stack具体的代码示例
Stack<String> s = new Stack<String>();
s.push("11");
s.push("22");
System.out.println(s.size());
for(String ss : s) {
System.out.println(ss);
}
s.pop();
for(String ss : s) {
System.out.println(ss);
}
运行结果
2
11
22
11
网友评论