📖 Scenario: Imagine you are managing a stack of books. You want to see which book is currently on the top without removing it.
🎯 Goal: Build a simple Java program that creates a stack of integers, then peeks at the top element to see it without removing it.
📋 What You'll Learn
Create a stack of integers with exact values
Add a variable to hold the top element
Use the peek method to get the top element
Print the top element
💡 Why This Matters
🌍 Real World
Stacks are used in many real-world applications like undo features in text editors, browser history, and managing function calls.
💼 Career
Understanding stack operations like peek is essential for software development roles that involve data structure manipulation and algorithm design.
Progress0 / 4 steps
1
Create a stack with integers
Create a Stack<Integer> called books and add these integers in order: 10, 20, 30.
DSA Java
Hint
Use Stack<Integer> books = new Stack<>(); to create the stack. Use books.push(value); to add each integer.
2
Add a variable to hold the top element
Create an int variable called topBook to hold the top element of the stack.
DSA Java
Hint
Declare int topBook; inside the main method after adding the books.
3
Use peek to get the top element
Assign the top element of books to topBook using the peek() method.
DSA Java
Hint
Use topBook = books.peek(); to get the top element without removing it.
4
Print the top element
Print the value of topBook using System.out.println(topBook);.
DSA Java
Hint
Use System.out.println(topBook); to display the top element.
Practice
(1/5)
1. What does the peek() method do in a stack?
easy
A. Checks if the stack is empty
B. Removes and returns the top element
C. Adds a new element to the top
D. Returns the top element without removing it
Solution
Step 1: Understand the peek method purpose
The peek method is designed to look at the top element of the stack without changing the stack.
Step 2: Compare with other stack methods
Unlike pop, peek does not remove the element; it only returns it.
Final Answer:
Returns the top element without removing it -> Option D
Quick Check:
peek() = top element without removal [OK]
Hint: Peek shows top without removing it [OK]
Common Mistakes:
Confusing peek with pop
Thinking peek adds elements
Assuming peek checks emptiness
2. Which of the following is the correct syntax to peek the top element of a Java Stack named stack?
easy
A. stack.peek();
B. stack.top();
C. stack.getTop();
D. stack.pop();
Solution
Step 1: Recall Java Stack method names
The Java Stack class uses peek() to view the top element without removing it.
Step 2: Check other options for correctness
top() and getTop() are not valid Stack methods; pop() removes the top element.
Final Answer:
stack.peek(); -> Option A
Quick Check:
Correct syntax for peek is stack.peek() [OK]
Hint: Use stack.peek() to view top element [OK]
Common Mistakes:
Using pop() instead of peek()
Using non-existent methods like top()
Missing parentheses in method call
3. What will be the output of the following Java code?
Stack<Integer> stack = new Stack<>();
stack.push(10);
stack.push(20);
stack.push(30);
System.out.println(stack.peek());
medium
A. 10
B. 30
C. 20
D. StackEmptyException
Solution
Step 1: Trace the push operations
Elements pushed in order: 10 (bottom), 20, then 30 (top).
Step 2: Understand peek output
peek() returns the top element without removing it, which is 30.
Final Answer:
30 -> Option B
Quick Check:
Top element after pushes = 30 [OK]
Hint: Peek shows last pushed element [OK]
Common Mistakes:
Confusing peek with pop output
Assuming peek returns bottom element
Expecting exception on non-empty stack
4. Identify the error in the following code snippet that tries to peek the top element of a stack:
Stack<String> stack = new Stack<>();
System.out.println(stack.peek());
medium
A. Throws EmptyStackException at runtime
B. Prints empty string
C. Compilation error: peek() not found
D. No error, prints null
Solution
Step 1: Check stack initialization and usage
The stack is created but no elements are pushed before peek is called.
Step 2: Understand peek behavior on empty stack
Calling peek() on an empty stack throws EmptyStackException at runtime.
Final Answer:
Throws EmptyStackException at runtime -> Option A
Quick Check:
peek() on empty stack throws exception [OK]
Hint: Peek on empty stack throws exception [OK]
Common Mistakes:
Assuming peek returns null if empty
Expecting compile-time error
Thinking it prints empty string
5. Given a stack with elements [5, 10, 15] (5 at bottom, 15 at top), which sequence of operations will peek the top element without removing it and then add 20 on top?