JAVA 다시 공부 Stack 스택 / Queue 큐

Study with cocochichi·2023년 11월 6일
0
post-thumbnail

Stack

1. 스택

  • 하나의 상자에 데이터를 아래쪽(Bottom)에서부터 차례대로 쌓는 구조
  • 데이터가 한쪽(Top)에서만 삽입과 삭제가 이루어짐
    ➡️ First In Last Out(FILO) 또는 Last In Out(LIFO) 구조
    (마지막에 추가된 요소가 가장 먼저 삭제됨)
  • toString() 메서드가 오버라이딩 되어있다
  • push() : 데이터추가
  • peek() : Top에 위치한 요소 확인(제거X)
  • pop() : Top에 위치한 요소 확인(=꺼내기 =제거O)

Queue

1) 큐

  • 한 쪽에서 삽입, 반대쪽에서 삭제가 일어나는 구조
  • First In First Out(FIFO) 또는 Last In Last Out(LILO) 구조
    ➡️ 먼저 추가된 요소가 가장 먼저 삭제됨
  • Queue 인터페이스를 직접 다루지는 않고 Queue 를 상속받아 구현한 LinkedList 클래스 사용
    ➡️ LinkedList 클래스는 List 와 Queue 인터페이스를 모두 구현한 구현체
  • 은행의 번호표 시스템, 온라인 게임의 대기열 시스템에 사용
  • offer() : 데이터 추가
  • peek() : 출구의 요소 확인(제거X)
  • poll() : 출구의 요소 꺼내기(제거O)

0개의 댓글