Implement Stack in Java package in.perwad.stack; public class Main { public static void main(String[] args) { Stack<Integer> stack = new Stack<>(); for(int item : new int [] {321, 123, 231}) stack.push(item); while (!stack.empty()) System.out.println(stack.pop()); // output: 231 123 321 } } class Stack<StackDataType> { Item<StackDataType> top = null; public void push(StackDataType data) { top = new Item<>(data, top); } public StackDataType pop() { StackDataType data = top.getData(); top = top.getNextItem(); return data; } public boolean empty() { return top == null; } } class Item<DataType> { private final DataType data; private Item nextItem; public Item(DataType data, Item nextItem) { this.data = data; this.nextItem = nextItem; } public Item getNextItem() { return nextItem; } public DataType getData() { return data; } }