https://claremont.tistory.com/entry/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-ep5-%EC%8A%A4%ED%83%9DStack
스택(Stack)의 개념은 위의 게시글을 참고하자
(Stack 클래스 사용 예시 코드)
package collection.deque;
import java.util.Stack;
public class StackMain {
public static void main(String[] args) {
Stack<Integer> stack = new Stack<>();
// 스택 요소 쌓기: push()
stack.push(1);
stack.push(2);
stack.push(3);
System.out.println(stack);
// 조회: peek()
System.out.println("stack.peek() = " + stack.peek());
// 스택 요소 뽑기: pop()
System.out.println("stack.pop() = " + stack.pop());
System.out.println("stack.pop() = " + stack.pop());
System.out.println("stack.pop() = " + stack.pop());
System.out.println(stack);
}
}
(주의) Stack 클래스는 사용하지 말자
자바의 Stack 클래스는 내부에서 Vector 라는 자료구조를 사용한다. 이 자료구조는 Java 1.0에 개발되었는데, 지금은 사용되지 않고 하위 호환을 위해서만 존재한다. 지금은 더 빠른 좋은 자료구조가 많다. 따라서 Vector를 사용하는 Stack도 사용하지 않는 것을 권장한다. 대신에 이후에 설명할 Deque 인터페이스를 사용하는 것이 좋다.
참고 및 출처: 김영한의 실전 자바 - 중급 2편
'Language > Java' 카테고리의 다른 글
[Java API] Iterable, Iterator 인터페이스 (1) | 2024.10.25 |
---|---|
[Java API] Queue, Deque 인터페이스(ArrayDeque, LinkedList) (0) | 2024.09.22 |
[Java API] Map 인터페이스(HashMap, LinkedHashMap, TreeMap) (0) | 2024.09.21 |
[Java API] Set 인터페이스(HashSet, LinkedHashSet, TreeSet) (0) | 2024.09.19 |
[Java API] List 인터페이스(ArrayList, LinkedList) (0) | 2024.09.19 |