코틀린에서 Stack 사용하기
Stack
은 나중에 추가 된 값이 먼저 반환되는 후입선출 자료구조이다.
예를 들어 [1, 2, 3, 4] 순서로 값이 들어온다면 [4, 3, 2, 1] 순서로 값이 반환된다.
코틀린에서 Stack
을 사용하기 위해서는 Queue와 마찬가지로 자바의 라이브러리를 사용해야한다.
때문에 Stack
을 사용하기 위해서는 java.util.Stack
을 import
해야 한다.
// java.util.Stack 을 import 해주어도 되고
// java.util.* 을 import 해주어도 된다
import java.util.Stack
// Stack을 변수로 선언
val stack = Stack<Int>()
// 값 추가
stack.push(1)
// add로도 값을 추가할 수 있지만 push를 사용하는 것이 효율성에서 더 좋다.
stack.add(2)
// 값 확인 및 반환
// peek -> 다음에 반환될 값 확인 (num1 = 2 / stack = [1, 2])
val num1 = stack.peek()
// pop -> 값 반환 및 stack 해당 값 삭제 (num2 = 2 / stack = [1])
val num2 = stack.pop()