본문 바로가기

Language/JAVA

Java Stack 예제

728x90

 

개요

스택은 LIFO형의 자료구조 입니다. 나중에 들어간게 먼저 나오는 티슈같은 형태 입니다. 자바는 스택을 따로 구현하지 않아도 스택을 구현 해놓은 클래스가 있습니다. 사용법을 알아보겠습니다.

import java.util.Stack;

public class StackTest {
    public static void main(String[] args) {
        Stack<String> st = new Stack<>();

        st.push("14");
        st.push("+");

        System.out.println(st.peek());
        System.out.println(st);
        System.out.println(st.pop());

        System.out.println(st);

    }
}

 

결과

+
[14, +]
+
[14] 

 

.peek()을 하면 가장 마지막에 넣은 값을 보여줍니다

.pop()을 하면 가장 마지막에 넣은 값을 뽑아서 보여줍니다

 

그래서 +만 넣은 후 st.peek()을 하면 +가 출력 됩니다.

.pop()을 하면 [14] 이게 나옵니다.

 

스택이 비어있을때 .peek()

import java.util.Stack;

public class StTest {
    public static void main(String[] args) {
        Stack<String> st = new Stack<>();
        System.out.println(st.peek());
    }
}

스택을 선언하고 바로 .peek()을 하면 어떻게 될까요?

 

Exception in thread "main" java.util.EmptyStackException
	at java.base/java.util.Stack.peek(Stack.java:101)
	at StTest.main(StTest.java:6)

EmptyStackException이 나면서 프로그램이 종료 됩니다.

 

end.

 

 

728x90
블로그 주인장입니다. 원하시는 정보는 얻으셨나요? 이 포스트에서 추가로 필요한 정보가 있으시면 여기에 남겨주세요.