특징
- 자바의 Stack 클래스는 Vector 클래스를 상속(extends)받기에 Thread-Safe 하다.
사용법
import
import java.util.Stack;
선언
스택의 선언은 Stack<T> 스택 이름 = new Stack<>(); 형태로 선언할 수 있으며,
데이터 타입은 클래스 또는 래퍼(Wrapper) 클래스로 선언할 수 있다.
import java.util.Stack;
class StackEx {
public static void main(String[] args) {
// Integer형 스택 선언
Stack<Integer> stackInt = new Stack<>();
// String형 스택 선언
Stack<String> stackStr = new Stack<>();
// Boolean형 스택 선언
Stack<Boolean> stackBool = new Stack<>();
}
}
메서드
메서드 | 설명 |
boolean empty() | Stack이 비어있는지 알려준다. |
Object peek() | Stack의 맨 위에 저장된 객체를 반환한다. pop과 달리 Stack에서 객체를 꺼내지는 않는다. 비어있을 경우 EmptyStackException 발생한다. |
Object pop() | Stack의 맨 위에 저장된 객체를 꺼낸다. 비어있을 경우 EmptyStackException 발생한다. |
Object push(Object item) | Stack에 객체(item)를 저장한다 |
int search(Object item) | Stack에서 주어진 객체(item)를 찾아서 그 위치를 반환한다. 못 찾을 경우 -1을 반환한다. 배열과 달리 위치는 0이 아닌 1부터 시작한다. |
참고
https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/util/Stack.html
Stack (Java SE 14 & JDK 14)
All Implemented Interfaces: Serializable, Cloneable, Iterable , Collection , List , RandomAccess public class Stack extends Vector The Stack class represents a last-in-first-out (LIFO) stack of objects. It extends class Vector with five operations that all
docs.oracle.com
https://ittrue.tistory.com/200
[Java] 자바 스택(Stack) 클래스 메서드 정리 및 활용
스택이란? 스택은 ‘쌓다.’, ‘쌓이다.’와 같은 뜻을 가진 용어로, 접시를 높이 쌓아 놓은 형태와 비슷한 자료구조이다. 즉, 데이터를 순서대로 쌓는 자료구조이다. 실생활에서 흔히 접할 수
ittrue.tistory.com
🧱 자바 Stack 구조 & 사용법 정리
Stack 컬렉션 스택(Stack)의 사전적 정의는 '쌓다', '더미' 로서 접시 스택처럼 접시를 쌓아놓은 것을 말한다. 즉, 상자에 물건을 쌓아 올리듯이 데이터를 쌓는 자료 구조라고 할 수 있다. 아래 그림
inpa.tistory.com
'프로그래밍 언어 > Java' 카테고리의 다른 글
[Java] 입력(BufferedReader) (3) | 2024.10.31 |
---|---|
[Java] 입력(Scanner) (0) | 2024.10.31 |
[Java] 배열(Array) (1) | 2024.10.28 |
[Java] 클래스(Class) (0) | 2024.04.04 |