728x90
반응형
| Stack 이란?
스택은 '쌓아놓은 더미' 라는 뜻으로 데이터를 차례대로 쌓아두는 모양이다.
스택은 한쪽 끝에서 push() 해서 밀어넣고, 끝에서 부터 pop() 하여 꺼내는 LIFO(후입선출, Last In First Out)이다.
즉, 마지막에 넣은 데이터가 가장 먼저 나오는 형태이다.
| Stack 사용 예시
- 웹 브라우저 방문기록(뒤로가기)
- 실행 취소(undo)
- 역순 문자열 만들기
- 후위 표기법 계산
- 깊이우선탐색
| 선언 방법
Stack<String> stack = new Stack<>();
| 메서드
push(E) | 값 추가 | |
peek() | 가장 상단 값 반환 | |
pop() | 가장 상단 값 반환 & 제거 | |
clear() | 전체 값 제거 (반환x) | |
size() | 크기 반환 | |
isEmpty() | 비었으면 true, 아니라면 false 반환 | |
contains(E) | 해당 값이 있으면 true 없으면 false 반환 | |
check(E) | 해당 값이 끝에서 부터 몇번째에 있는지 반환 (없으면 -1 반환) |
728x90
반응형
'CS공부' 카테고리의 다른 글
[JAVA] 싱글톤 패턴 (Singleton Pattern) 개념과 예제 (0) | 2023.06.26 |
---|---|
[JAVA] 큐(Queue) 클래스 및 메서드 총정리 (0) | 2023.06.23 |
[알고리즘/JAVA] 에라토스테네스의 체 (0) | 2023.05.12 |
[JAVA] 컬렉션 프레임워크와 List ,Set, Map의 개념 및 정리 (0) | 2023.04.27 |
[JAVA] 얕은복사(Shallow Copy)와 깊은복사(Deep Copy) (0) | 2023.04.24 |