[Java 활용] 3.8 Stack 클래스

Java의 Stack 클래스는 자료구조 스택을 구현한 것입니다. 자료구조 스택은 LIFO(List In First Out, 후입선출) 형태로 자료를 보관하는 임시 버퍼입니다. 버퍼는 임시로 자료를 보관해 두었다가 필요할 때 꺼내 쓰는 저장소며 스택은 꺼내달라고 요청하면 가장 최근에 보관한 자료를 꺼내줍니다.

 

Java의 Stack 클래스에서는 일반적인 스택에 약속하고 있는 push 메서드와 pop 메서드를 제공하고 있으며 이 외에 peek, emptry 메서드 및 search 메서드를 제공합니다.

push 메서드는 스택에 자료를 보관할 때 사용하는 메서드이며 pop 메서드는 가장 최근에 보관한 자료를 꺼낼 때 사용하는 메서드입니다. peek 메서드는 가장 최근에 보관한 자료를 단순 참조할 때 사용하며 empty 메서는 비어있는지 판별하는 메서드입니다. 그리고 search 메서드는 자료가 몇 번째에 있는지 순번을 반환합니다. 주의할 점은 search 메서드의 반환 값은 인덱스가 아니라 순번입니다. 따라서 2,3 순으로 자료를 보관할 때 search(3)의 결과는 2입니다.

 

다음은 스택을 사용한 예제 코드입니다.

▷ 소스 3.10 스택 사용 예

▷ 소스 3.10 실행 결과

[그림 3.4] 소스 3.10 수행 과정(Loop 이전까지)
[그림 3.4] 소스 3.10 수행 과정(Loop 이전까지)
[그림 3.4]는 소스 3.10을 수행하는 과정을 도식화한 것입니다. while 문 이전까지의 모습을 표현한 것이며 참고하여 확인하시기 바랍니다.