코드 그라데이션

Day27-4. 자료구조와 컬렉션 (2) Stack 본문

Java/Mega

Day27-4. 자료구조와 컬렉션 (2) Stack

완벽한 장면 2023. 4. 23. 22:37

Stack

- 쉽게 말하면 쌓는 것.

First In Last Out

 

Stack의 기본 구조

 

push로 넣고, pop으로 빼고.

 

 

Stack 예제

public class StackTest {

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

    System.out.println("스택에 push 1 : " + stackSample.push("경기도"));
    System.out.println("스택에 push 2 : " + stackSample.push("충청도"));
    System.out.println("스택에 push 3 : " + stackSample.push("강원도"));
    System.out.println("스택에 push 4 : " + stackSample.push("전라도"));
    System.out.println("스택에 push 5 : " + stackSample.push("제주도"));
    System.out.println("==================================================");

    int num = stackSample.search("제주도"); //"제주도"를 검색
    if (num != -1) { //-1이 기본값이었다!
      System.out.println(" 스택에서 숫자 \"제주도\"의 위치는 : " + num + "번째 입니다.");
    }
    else {
      System.out.println("제주도는 목록에 존재하지 않습니다.");
    }
    System.out.println("======================================================");

    // 삭제
    while (!stackSample.empty()) { // 목록이 존재하는 동안
      String obj = stackSample.pop(); // 스택의 맨 위에 있는 객체를 pop하여 가져옴
      System.out.println("스택에서 pop : " + obj); // pop한 객체 출력
    }
  }
}

출력 결과

스택에 push : 경기도
스택에 push : 충청도
스택에 push : 강원도
스택에 push : 전라도
스택에 push : 경상도
스택에 push : 제주도
====================================
스택에서 숫자 "제주도" 의 위치는 : 1번째 입니다.
====================================
스택에서 pop : 제주도
스택에서 pop : 경상도
스택에서 pop : 전라도
스택에서 pop : 강원도
스택에서 pop : 충청도
스택에서 pop : 경기도

 

728x90

'Java > Mega' 카테고리의 다른 글

Day28-2. 자료구조(5) Set  (0) 2023.04.24
Day28-29. 파일 입출력  (0) 2023.04.24
Day27-3. 자료구조와 컬렉션 (1) List  (0) 2023.04.23
Day27-2. 자료구조 도입  (0) 2023.04.23
Day27-1. 제네릭  (0) 2023.04.23
Comments