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