1. 스택(Stack) 이란?
스택이란 물건을 차곡차곡 쌓는 것처럼 자료를 쌓는 구조이다.
예를 들어 책을 쌓는다고 가정해보자. 순서대로 1번, 2번, 3번, 4번, 5번 책을 쌓는다면 책을 들어 올릴 때에는 맨 위에 있는 5번부터 들어 올릴 것이다.
가장 마지막에 쌓은 것을 처음으로 들어올리는, 이것을 스택에서는 Last In First Out (LIFO) 구조라고 한다.
2. 스택의 주요 메소드
메소드 | 설명 |
void push(E element) | Stack 맨 위에 element 추가 |
E pop() | Stack의 맨 위 element 삭제 |
E peek() | Stack의 맨 위 element 리턴 |
boolean isEmpty() | Stack이 비었는지 확인 |
int size() | Stack이 포함하고 있는 요소의 개수 리턴 |
3. 스택 사용하기
- 스택 생성하기
import java.util.Stack; // 필수 import문
Stack<Integer> stack = new Stack<>(); // int형 스택 선언
Stack<String> stack2 = new Stack<>(); // char형 스택 선언
- 스택에 요소 삽입하기
// push 메소드를 사용하면 된다.
stack.push(3);
stack.push(4);
stack.push(5);
// 3-> 4-> 5 순서대로 스택에 추가
- 스택의 요소 제거하기
// pop 메소드를 사용하면 된다.
stack.pop();
stack.pop();
// 맨 위의 요소부터 삭제 된다.
- 스택의 맨 위 요소 확인하기
// peek 메소드 사용
stack.push(3);
stack.push(7);
stack.peek(); // 맨 위의 요소가 7이니 7리턴
'자바 > 자료구조' 카테고리의 다른 글
[자료구조] 배열 (ArrayList) / 2022.02.27 (0) | 2022.02.27 |
---|