언어 공부/JAVA_자바

[JAVA / 자바] Stack(스택) 클래스 사용법 및 함수(Method) 정리

Seunghyun_KO 2022. 3. 27. 09:00
728x90
반응형

 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) 정리

728x90
반응형