데이터를 일시적으로 저장하고 관리하기 위한 추상 자료형 중 하나.
선형 구조를 가지며 Last In First Out (LIFO)의 방식으로 데이터를 삽입/삭제 하는 연산을 수행함
데이터를 차곡차곡 쌓아 올린 형태의 자료구조
: push, pop, top, empty의 네 가지 연산을 지원
스택 연산은 Stack 클래스에서 모두 지원되므로, 스택을 구현할 때 Stack 클래스를 사용하는 것이 간편함
import java.util.Stack;
public class StackExample {
public static void main(String[] args) {
Stack<Integer> stack = new Stack<>(); // 정수형 스택 생성
// push 연산으로 스택에 데이터 추가
stack.push(1);
stack.push(2);
stack.push(3);
// pop 연산으로 스택에서 데이터 삭제 및 반환
int top = stack.pop(); // top = 3
// peek 연산으로 스택의 가장 위쪽 데이터 반환
int peek = stack.peek(); // peek = 2
// empty 연산으로 스택이 비어있는지 확인
boolean empty = stack.empty(); // empty = false
}
}
참고
https://jud00.tistory.com/entry/자료구조-스택Stack과-큐Queue에-대해서-알아보자
https://roi-data.com/entry/자료구조-4-스택Stack이란-연산-구현방법