SimpleStack.java 695 字节
Newer Older
武汉红喜's avatar
武汉红喜 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
package org.hongxi.java.util.collections;

import java.util.ArrayList;
import java.util.EmptyStackException;
import java.util.List;

/**
 * @author shenhongxi 2019/8/12
 *
 * @see java.util.Stack
 */
public class SimpleStack<E> {

    private int size;

    private List<E> elements = new ArrayList<>();

    public void push(E ele) {
        if (elements.size() > size) {
            elements.set(size, ele);
        } else {
            elements.add(ele);
        }
        size++;
    }

    public E pop() {
        if (size == 0) {
            throw new EmptyStackException();
        }
        return elements.set(--size, null);
    }

    public int size() {
        return size;
    }
}