Categories: Java 언어Korean

Java 총 정리[84. Stack]

Stack

이전 걸음까지 List, Set, Map에 대해서 공부를 했습니다. 이 3개의 자료구조가 가장 많이 쓰이기 때문에 잘 알아 두셔야 합니다. 이번 걸음에서는 일반적으로 사용은 적지만 그래도 구조를 알고 있으면 도움이 되는 자료구조를 같이 공부를 하도록 하겠습니다.

Stack에 대해서 이번 걸음에서 같이 공부를 해보도록 하겠습니다. Stack은 이전 Method를 공부를 할 때 Method의 call과 back이 Stack구조로 움직인다고 이야기를 했습니다. 이것과 똑같이 동작을 하는 자료구조가 바로 Stack입니다. 이번 걸음을 통해서 Stack에 대해서 자세히 공부를 하도록 하겠습니다.

Stack의 사용 방법과 구조에 대해서 이번 걸음에서 알아보고 또한 Stack을 사용한 예제를 통해서 작동 원리를 이해하고 사용을 할 수 있습니다. 자료구조에서 많이 사용이 되지 않지만 알아두면 좋은 Stack에 대해서 이번 걸음에서 같이 보도록 하겠습니다.

Stack아란?

위에 이미지를 보면 알 수 있듯이 특징이 있습니다. 항아리 구조에 의해서 처음 들어간 자료가 제일 마지막에 나오고 마지막에 들어간 자료가 처음으로 나오는 구조입니다. 이 부분을 꼭 인지를 하고 Stack자료구조를 사용을 하면 됩니다.

Stack 구조

위에 사진처럼 구조는 위에 데이터가 빠져야 본인이 나갈 수 있는 구조입니다. push가 데이터를 삽입을 하고 pop이 데이터를 추출을 하게 됩니다. 이렇게 데이터를 관리하고 활용을 하게 됩니다.

Stack 예제 소스


import java.util.Stack;

public class StackTest1 {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Stack stack = new Stack();
  
  stack.push("안");
  stack.push("녕");
  stack.push("하");
  stack.push("세");
  stack.push("요");
  
  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());
 }
}

위 예제 소스와 결과를 보면 알 수 있습니다. push로 “안녕하세요”를 Stack에 넣었지만 빼서 출력을 하면 “요세하녕안”으로 출력이 되게 됩니다. 이 특성을 잘 이해하고 Stack을 사용하면 됩니다.

Dolphin

Recent Posts

Java 총정리[97. Java GUI]

Java GUI Java GUI에 대해서 이번 걸음에서 배움으로써 GUI에 전반적인 지식과 Java GUI를 구현하는 방법…

5개월 ago

Java 총정리[96. Java TCP 통신 프로그램 구현]

Java TCP 통신 프로그램 구현 Java TCP 통신 프로그램 구현을 위해서 이전 걸음에서 쓰레드에 대한…

5개월 ago

Java 총정리[95.쓰레드 통신]

쓰레드 통신 이전 걸음에서 쓰레드의 임계영역에 대해서 같이 공부를 했습니다. 동기화에 대한 개념을 계속적으로 하고…

5개월 ago

Java 총 정리[94. 쓰레드 임계영역]

쓰레드 임계영역 이전 걸음에서 쓰레드의 동기화에 대해서 같이 공부를 했습니다. 동기화에 대한 전반적인 내용을 공부하고…

6개월 ago

Java 총 정리[93. 쓰레드 동기화]

쓰레드 동기화 이전 걸음에서 계속 쓰레드에 대해서 공부를 하고 있습니다. 쓰레드는 상당히 중요한 개념이기 때문에…

6개월 ago

Java 총 정리[92. 쓰레드 join()]

쓰레드 join() 이전 걸음에서 쓰레드의 전반적인 실행 흐름에 대해서 공부를 했습니다. 이제 배운 실행 흐름…

6개월 ago

This website uses cookies.