안녕하세요.
오늘은 자바의 클래스 중에 Stack을 공부해보겠습니다.
스택(Stack)은 자료 구조중에 하나로 사전적으로는 '쌓다', '채우다', '더미'를 뜻합니다.
사전적 의미처럼 데이터가 입력한 순서대로 쌓이게 되고 나중에 입력된 데이터부터 나오게 됩니다.
후입선출(後入先出) / LIFO(Last In First Out)의 특징을 가지고 있으며 이러한 특징으로 인해 데이터에 접근 방법은 한쪽 끝에서만 이루어지기 때문에 선형 구조를 띄고 있습니다.
자바에서 Stack을 사용하기 위해서 java.util.Stack을 import 한 뒤에 Stack을 선언합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import java.util.Stack;
// 선언 - Stack<Element> stack = new Stack<>();
Stack<Integer> stack = new Stack<>();
// 데이터 추가 - push()
stack.push(1);
stack.push(2);
stack.push(3);
// 데이터 삭체 - pop()
stack.pop();
// 데이터 전체 삭제
stack.clear();
// 데이터 최상단 값 - peak()
stack.peak();
// Stack 크기 - size()
stack.size();
// Stack 빈 상태 확인 - empty()
stack.empty();
// 데이터 여부 확인 - contains()
stack.contains(2);
|
그림과 같이 데이터가 입력된 순서대로 쌓이게 되고 가장 나중에 들어간 값부터 제거할 수 있습니다.
이상으로 Stack에 대해 공부하였습니다.
감사합니다.
[JAVA] 배열의 복사(Array Copy) (0) | 2020.08.01 |
---|---|
[JAVA] 배열의 정렬(Array Sort) (0) | 2020.07.19 |
[JAVA] 배열(Array) (0) | 2020.06.17 |
[JAVA] 반복문 (0) | 2020.06.14 |
[JAVA] 조건문 (0) | 2020.06.12 |
댓글 영역