栈01--[栈接口设计&&栈应用]

1.栈

 

 

 2.栈的接口设计

java官方的stack实现是继承自 vector(类似数组)

vector 是线程安全的

ArrayList是非线程安全的

 

3.栈的应用--浏览器的前进和后退

只要输入新的网址 右边的那个栈数据都会被清空

 

 

 

 

 

 

 4.代码

java版本实现

public class Stack<E> {
    private List<E> list = new ArrayList<>();
    
    public void clear() {
        list.clear();
    }
    
    public int size() {
        return list.size();
    }

    public boolean isEmpty() {
        return list.isEmpty();
    }

    public void push(E element) {
        list.add(element);
    }


    public E pop() {
        return list.remove(list.size() - 1);
    }


    public E top() {
        return list.get(list.size() - 1);
    }
}
View Code

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2020-03-06 11:32  从来不虚场合  阅读(215)  评论(0编辑  收藏  举报