generic stack linked list
Fri Jun 07 2024 12:45:22 GMT+0000 (Coordinated Universal Time)
Saved by
@dbms
import java.util.LinkedList;
public class GenericStack<T> {
private LinkedList<T> stackList;
public GenericStack() {
this.stackList = new LinkedList<>();
}
public void push(T item) {
stackList.addFirst(item);
}
public T pop() {
if (!stackList.isEmpty()) {
return stackList.removeFirst();
} else {
System.out.println("Stack Underflow");
return null;
}
}
public boolean isEmpty() {
return stackList.isEmpty();
}
public T peek() {
if (!stackList.isEmpty()) {
return stackList.getFirst();
} else {
return null;
}
}
public static void main(String[] args) {
GenericStack<Integer> intStack = new GenericStack<>();
intStack.push(1);
intStack.push(2);
intStack.push(3);
intStack.push(4);
intStack.push(5);
System.out.println("Top element: " + intStack.peek()); // 5
while (!intStack.isEmpty()) {
System.out.println("Popped element: " + intStack.pop());
}
System.out.println("Stack is empty: " + intStack.isEmpty()); // true
GenericStack<String> stringStack = new GenericStack<>();
stringStack.push("one");
stringStack.push("two");
stringStack.push("three");
System.out.println("Top element: " + stringStack.peek()); // three
while (!stringStack.isEmpty()) {
System.out.println("Popped element: " + stringStack.pop());
}
System.out.println("Stack is empty: " + stringStack.isEmpty()); // true
}
}
content_copyCOPY
Comments