본문 바로가기

프로그래밍/JAVA

[ JAVA ] Stack(스택)

1. Stack

▶ Stack은 마지막에 저장한 데이터를 가장 먼저 꺼내는 LIFO(Last In First Out) 구조이다.
▶ 스택의 활용 예 : 수식계산, 수식괄호검사, 워드프로세서의 undo/redo, 웹브라우저의 뒤로/앞으로 
Stack st1 = new Stack(); // 타입 설정x Object로 선언
Stack<Element> st2 = new Stack<Element>(); // Element 타입으로 선언

LIFO(Last In First Out)

2. Stack의 메서드

메서드 설 명
boolean empty() Stack이 비어있는지 알려준다.
Object peek() Stack의 맨 위에 저장된 객체를 반환. pop()과 달리 Stack에서 객체를 꺼내지는 않음. (비었을 때는 EmptyStackException 발생)
Object pop() Stack의 맨 위에 저장된 객체를 꺼낸다. (비었을 때는 EmptyStackException 발생)
Object push(Object item) Stack에 객체(item)를 저장한다.
int search(Object o) Stack에서 주어진 객체(o)를 찾아서 그 위치를 반환. 못찾으면 -1을 반환. (배열과 달리 위치는 0이 아닌 1부터 시작)

'프로그래밍 > JAVA' 카테고리의 다른 글

[ JAVA ] Iterator, ListIterator, Enumeration  (0) 2023.01.08
[ JAVA ] Queue(큐)  (0) 2023.01.08
[ JAVA ] 형식화 클래스  (0) 2022.12.20
[ JAVA ] Calendar와 Date  (0) 2022.12.20
[ JAVA ] java.lang 패키지 - String클래스  (0) 2022.11.27