본문 바로가기
개념/자료구조

[JAVA] 스택(Stack)

by hs_seo 2016. 6. 10.

스택은 자료구조에서 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