Stack
: 후입 선출(LIFO: Last In First Out)의 성격을 지닌 자료구조이다.
[자료구조] 스택 (Stack)에 대한 설명글
[자료구조] 스택 (Stack)
스택(stack) - 스택에 저장된 원소는 top으로 정한 곳만 접근이 가능하다. ㄴ 후입 선출 구조(LIFO, Last-In-First-Out) : 마지막에 삽입한 원소는 맨 위에 쌓여 있다가 가장 먼저 삭제된다. 스택의 연산
kwin0825.tistory.com
선언
import java.util.Stack;
Stack<자료형> 변수명 = new Stack<>();
ㄴ 위 같은 경우는 자료형에 넣은 자료형만 삽입, 삭제 가능
Stack 변수명 = new Stack();
ㄴ 위 같은 경우는 어떤 자료형이든 삽입, 삭제 가능(이전에 int형을 넣었어도 String형 삽입 가능)
메서드 (Method)
Stack<자료형> stack = new Stack<>();
1. 삽입
stack.push(삽입할 value);
ㄴ 반환 값(삽입한 value의 자료형): 삽입한 value
stack.add(삽입할 value);
ㄴ 반환 값(boolean): true(성공) / false(실패; StackOverflow)
2. 삭제
stack.pop();
ㄴ 반환 값(삭제한 value의 자료형): 삭제한 value / 공백 스택일 때 Exception("EmptyStackException") 발생
stack.remove(index);
ㄴ 반환 값(삭제한 value의 자료형): 삭제한 value / 옳지 않은 index입력 시 Exception("ArrayIndexOutOfBoundsException") 발생
*(index는 삽입된 순서대로 0 ~ stack.size()-1)
3. 스택의 top에 있는 원소 반환
stack.peek();
ㄴ 반환 값(top에 저장된 value 자료형): stack의 top에 저장된 값
4. 크기
stack.size();
ㄴ 반환 값(int): 현재 스택에 저장된 value의 개수
5. 스택이 비어있는가?
stack.isEmpty();
stack.empty();
ㄴ 반환 값(boolean): 공백상태 true / 공백상태가 아닐 때 false
6. 스택 안에 해당 원소가 있는가?
stack.search(찾을 value);
ㄴ 반환 값(int): top에서부터 몇 번째에 존재하는지? (1 ~ stack.size()) / 존재하지 않으면 -1
7. 스택 값 변경
stack.set(index, 변경할 value);
ㄴ 반환 값(변경 전 value의 자료형): 변경 전 value / 옳지 않은 index 입력 시 Exception("ArrayIndexOutOfBoundsException") 발생
*(index는 삽입된 순서대로 0 ~ stack.size()-1)
8. 해당 인덱스에 존재하는 값 반환
stack.elementAt(index);
ㄴ 반환 값(int): 해당 인덱스에 저장된 값 / 옳지 않은 index 입력 시 Exception("ArrayIndexOutOfBoundsException") 발생
*(index는 삽입된 순서대로 0 ~ stack.size()-1)
9. 스택 초기화(= 공백 스택 만들기)
stack.clear();
ㄴ 반환 값(void): X
▽▼▽ 연관 있는 다른 게시글 ▼▽▼
[JAVA / 자바] Queue(큐) 클래스 사용법 및 함수(Method) 정리

'언어 공부 > JAVA_자바' 카테고리의 다른 글
[JAVA / 자바] 함수형 프로그래밍 (0) | 2024.08.18 |
---|---|
[JAVA / 자바] Queue(큐) 클래스 사용법 및 함수(Method) 정리 (4) | 2022.04.02 |
[JAVA / 자바] TreeSet 클래스 사용법 (0) | 2022.03.20 |
[JAVA / 자바] 비트 마스킹(Bit Mask), BitSet자료형 (0) | 2022.03.19 |
[JAVA / 자바] Priority Queue(우선순위 큐) 클래스 사용법 및 함수(Method) 정리 (0) | 2022.03.13 |