스택
스텍은 많은 분야에서 사용되고 있다. (게임)
스텍이란 마지막에 넣은 데이터를 가장 먼저 추출하는 자료구조이다.
즉, LIFO를 말하며, 주로 컴퓨터 내부 프로세스 구조의 함수 동작 방식이 이걸로 구현되어 있다. 또한 우리가 자주 사용하는 컴퓨터 뒤로가기도 스텍구조 이다.

스텍 사용법
자바 내부라이브러리에 스텍이 구현되어 있다.
import java.util.Stack;
Stack<Integer> stack = new Stack<>(); //int형 스택 선언
Stack<String> stack = new Stack<>(); //String형 스택 선언
util에 있는 stack이 구현되어 있으며, import시 사용할 수있다. 이미 내부에 다양한 메서드가 구현되어 있다.
추가 push()
push(value) 메서드를 활용하면 된다.
Stack<Integer> stack = new Stack<>();
stack.push(1); // stack에 값 1 추가
stack.push(2); // stack에 값 2 추가
stack.push(3); // stack에 값 3 추가
삭제 pop(), clear()
- pop() 메서드는 위에 하나의 값을 출력하면서 삭제하는 메서드이다.
- clear() 스텍을 초기화 하는 메서드이다.
Stack<Integer> stack = new Stack<>();
stack.push(1); // stack에 값 1 추가
stack.push(2); // stack에 값 2 추가
stack.push(3); // stack에 값 3 추가
stack.pop(); // stack에 값 제거
stack.clear(); // stack의 전체 초기화
길이, 값 찾기, 빈 스텍을 찾기
- size() 스텍의 길이(사이즈)를 출력해주는 메서드이다.
- empty() 스텍에 요소가 있는지 없는지 확인해주는 메서드이다.
- contains(value) value가 스텍에 포함되어 있는지 없는 확인해 주는 메서드 이다.
stack.size(); // stack의 크기 출력 : 2
stack.empty(); // stack이 비어있는제 check (비어있다면 true)
stack.contains(1) // stack에 1이 있는지 check (있다면 true)
Referance
반응형
'SW > 자료구조' 카테고리의 다른 글
| Hash 해시, 해시 메커니즘, 중복 Key는?, 충돌 (0) | 2023.06.15 |
|---|---|
| 시간복잡도를 자바로 구현 (1) | 2023.06.15 |
| 자료구조 - Queue(feat. Java, Python) (0) | 2023.06.01 |
| 자료구조 - 배열 (feat. Java, Python), 자매품 - Java Collection ArrayList (0) | 2023.06.01 |
| [자료구조] 스택, 큐, 트리, 그래프 정리 (0) | 2021.06.22 |
