package Stack_Java; import java.util.*; public class LinkedStack2 { private static class Node { private Object data; private Node next = null; private Node(Object dataItem, Node nextRef) { data = dataItem; next = nextRef; } } //end of the private class Node private Node stackTop = null; public Object push(Object item) { stackTop = new Node(item, stackTop); return item; } public Object pop() { if (empty()) { throw new EmptyStackException(); } else { Object result = stackTop.data; stackTop = stackTop.next; return result; } } public Object peek() { if (empty()) { throw new EmptyStackException(); } else { return stackTop.data; } } public boolean empty() { return stackTop == null; } }