티스토리 뷰

Language/JAVA

Java Stack 예제

KyeongRok Kim 2018. 11. 4. 01:45

 

개요

스택은 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.

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함