스택
스텍은 많은 분야에서 사용되고 있다. (게임)
스텍이란 마지막에 넣은 데이터를 가장 먼저 추출하는 자료구조이다.
즉, 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 |