안녕하세요 호호만두에요
이번에는 자바에서 스택(stack)을 사용하는 방법에 대해서 알아볼게요!!
저는 처음에 자바에 스택이 따로 없는 줄 알았는데 c++과 같이 기본으로 제공되더라구요
그래서 알고리즘문제 풀때마다 arraylist만 사용하거나
스택이 필요할때면 아 이걸 다 구현해야 되나... 싶었는데
머리가 나쁘면 몸이 고생 ㅠㅠㅠ
아무튼 !! 자바의 스택 사용 방법에 대해 알아봅시다!!
stack class는 java.util에 있어요
위 처럼 import 문을 달아주면 stack을 자바에서 사용하실 수 있어요
자바에서 stack 변수 선언은 다음과 같이 합니다
저는 Integer 값을 담는 stack을 만들었어요
<>안에 다른 타입을 써서 만들 수도 있답니다
자기가 만든 class도 물론 가능해요
stack은 기본적으로 FILO(First In Last Out)이죠??
그러면 값을 어떻게 넣느냐??
stack에는 push메소드를 이용해 값을 넣어줍니다
이렇게하면 stack에 1과 2가 차례로 들어가게되요
그러면 아래 처럼 들어가 있겠죠??
이제 값을 꺼내봅시다.
stack에서 값을 꺼내는 메소드는 pop()에요
아래 명령을 통해서 맨 위에 있는 값인 '2'가 꺼내져서 num 변수에 담겨요
이제 stack은 다음과 같이 변했어요
이제 stack에는 1 밖에 남아있지 않아요
그런데 값을 꺼내지 않고 맨 위의 값만 확인하고 싶다면 어떻게 할까요??
stack의 top의 값을 확인하고 싶다면 peek() 메소드를 이용하면 되요
이렇게 하면 top_num에 1이라는 값이 담기게 됩니다!!
하지만 아까와 다르게 stack의 값은 그대로 남아있답니다!!
stack을 사용함에 있어서 이 3개 메소드 정도면 충분하답니다
자바 stack 직접 구현하지 않고 사용해보세요!!