Heim  >  Artikel  >  Java  >  Grafische Codeanalyse des Java-Sammlungsstapels

Grafische Codeanalyse des Java-Sammlungsstapels

黄舟
黄舟Original
2017-03-13 17:41:361672Durchsuche

Stack ist ein Stack und seine Funktion ist FILO (First In Last Out). Stack wird von Vector (Vector Queue ) geerbt. Da Vector mit Array implementiert wird, wird Stack auch über Arrays anstelle von verknüpften Listen implementiert.

Die Beziehung zwischen Stack und Collection ist wie folgt:



Quellcode basierend auf Java8:

public  class Stack<E> extends Vector<E> {

    public Stack() {//创建空栈
    }

    public E push(E item) {//入栈
        addElement(item);
        return item;
    }
    //出栈
    public synchronized E pop() {
        E       obj;
        int     len = size();
        obj = peek();
        removeElementAt(len - 1);
        return obj;
    }
    //返回栈顶元素,但并不出栈
    public synchronized E peek() {
        int     len = size();

        if (len == 0)
            throw new EmptyStackException();
        return elementAt(len - 1);
    }
    //判断栈是否为空
    public boolean empty() {
        return size() == 0;
    }
    //查找元素并返回栈深
    public synchronized int search(Object o) {
        int i = lastIndexOf(o);

        if (i >= 0) {
            return size() - i;
        }
        return -1;
    }

    //序列版本号
    private static final long serialVersionUID = 1224463164541339165L;
}

Das obige ist der detaillierte Inhalt vonGrafische Codeanalyse des Java-Sammlungsstapels. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn