스택은 자료구조에서 LIFO(Last In First Out) 구조를 가지는 자료구조이다.
구현하는 방식에 따라 종류가 많이 있다.
자바의 util 에 기본적으로 스택을 제공해주기 때문에 따로 구현하지 않고 이 클래스를 사용하면 된다.
import java.util.Stack;
public class StackExample {
public static void main(String[] args) {
Stack<Integer> stack = new Stack<>();
// 데이터 입력
stack.push(5);
stack.push(4);
stack.push(3);
stack.push(2);
stack.push(1);
// 데이터 출력
System.out.println("마지막에 넣은 데이터부터 출력..");
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.pop());
// 에러 발생
//System.out.println(stack.pop());
System.out.println("---------------");
// 데이터 입력
stack.push(5);
stack.push(4);
stack.push(3);
System.out.println(stack.size()); // 사이즈 확인
System.out.println(stack.peek()); // 데이터를 빼지 않고 현재 가장 위에 위치하는 데이터 확인
System.out.println(stack.size()); // 사이즈 확인
}
}
<결과>
1
2
3
4
5
---------------
3
3
3
'개념 > 자료구조' 카테고리의 다른 글
[Java] 큐(Queue) (0) | 2016.06.10 |
---|---|
[자료구조] 힙과 힙소트 (0) | 2015.06.08 |
[자료구조] 배열과 링크드 리스트 (0) | 2015.06.04 |