- 먼저 들어간 데이터가 나중에 나오는 LIFO(Last In First Out) 구조
- 스택의 크기만큼 데이터가 꽉 차서 데이터를 넣지 못할 때 → Overflow
- 스택이 비어있는데, 데이터를 꺼내려고 하는 경우 → Underflow
생성
import java.util.Stack; //import
Stack<Integer> stack = new Stack<>(); // int형 스택 선언
Stack<String> stack = new Stack<>(); // char형 스택 선언
추가 및 변경
Stack<Integer> stack = new Stack<>(); // int형 스택 선언
stack.push(1); // stack에 값 1 추가
stack.push(2); // stack에 값 2 추가
stack.push(3); // stack에 값 3 추가
삭제
Stack<Integer> stack = new Stack<>(); // int형 스택 선언
stack.push(1); // stack에 값 1추가
stack.push(2); // stack에 값 2추가
stack.push(3); // stack에 값 3추가
stack.pop(); // stack에 값 제거
stack.clear(); // stack의 전체 값 제거 (초기화)
최상단 값 확인
Stack<Integer> stack = new Stack<>(); // int형 스택 선언
stack.push(1); // stack에 값 1추가
stack.push(2); // stack에 값 2추가
stack.push(3); // stack에 값 3추가
stack.peek(); // stack의 가장 상단의 값 출력
기타 메소드
Stack<Integer> stack = new Stack<>(); // int형 스택 선언
stack.push(1); // stack에 값 1추가
stack.push(2); // stack에 값 2추가
stack.size(); // stack의 크기 출력 : 2
stack.empty(); // stack이 비어있는지 check (비어있다면 true)
stack.contains(1) // stack에 1이 있는지 check(있다면 true)
'자료구조' 카테고리의 다른 글
[자료구조] TreeSet (0) | 2023.11.07 |
---|---|
[자료구조] Hash Set (0) | 2023.11.07 |
[자료구조] Vector (0) | 2023.11.06 |
[자료구조] ArrayList (0) | 2023.11.03 |
[자료구조] 자료구조형 (0) | 2023.11.03 |