Stack (스택)
Stack 이란 ?
- LIFO (Last In First Out) 방식의 자료구조이다. 나중에 들어온것이 먼저 나가는 형태이다. 대표적으로 우리가 흔히 사용하는 인터넷 브라우저의 뒤로가기 기능이 비슷하다. 뒤로 가기 하면 할 수록 우리가 직전에 봤던 페이지를 볼 수 있다. 또한, 프링글스 통을 생각하면 아주 똑같다.
기능
- Push : 값을 Stack 으로 넣는 동작
- Pop : Stack에서 값을 하나 꺼내는 동작
- Peek : Stack의 현재 맨위의 값을 확인
- isEmpty : Stack이 비어있는지 확인하는 동작
JAVA 에는 이러한 Stack이 JDK에 구현되어있다.
선언을 Stack으로 하고 구현체 또한 Stack이다.
import java.util.Stack;
public class Main {
public static void main(String[] args) {
Stack<Integer> stack = new Stack<>();
stack.push(1);
stack.push(3);
stack.push(2);
System.out.println(stack.peek());
System.out.println(stack.pop());
System.out.println(stack.isEmpty());
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.isEmpty());
}
}