Java使用嵌套类的简单堆栈

示例

public class IntStack {

    private IntStackNode head;

    // IntStackNode是IntStack类的内部类
    // 此内部类的每个实例都充当
    // 有助于表示的整体堆栈
    private static class IntStackNode {

        private int val;
        private IntStackNode next;

        private IntStackNode(int v, IntStackNode n) {
            val = v;
            next = n;
        }
    }

    public IntStack push(int v) {
        head = new IntStackNode(v, head);
        return this;
    }

    public int pop() {
        int x = head.val;
        head = head.next;
        return x;
    }
}

及其使用(值得注意的是)根本不承认嵌套类的存在。

public class Main {
    public static void main(String[] args) {
 
        IntStack s = new IntStack();
        s.push(4).push(3).push(2).push(1).push(0);

        //打印:0、1、2、3、4 
        for(int i = 0; i < 5; i++) {
            System.out.print(s.pop() + ", ");
        }            
    }
}