(선형 데이터 구조) 큐

1. 묻다

  • 선입 선출 데이터 구조
    선입 선출 데이터 구조
  • 입력 주문에 데이터 처리가 필요한 경우 사용
    전임자.인쇄물, 대기열, BFS 등

2. 기본 구조

  • 선입 선출에는 기본적으로 데이터 추가, 데이터 가져오기 및 대기열 공간 확인이 포함됩니다.
  • Enqueue: 대기열에서 데이터 추가
  • Dequeue : 큐에서 데이터를 가져옵니다.


3. 기본 코드

    public static void main(String() args) {
        Queue queue = new LinkedList();  // stack 과 다르게 new Queue가 인터페이스로 구현되어 있어서 바로 객체를 생성할 수가 없으며 메소드를 다 오버라이딩 해야함
        //LinkedList에서 queue가 필요한 메소드가 다 포함되어 있다.

        queue.add(1);
        queue.add(2);
        queue.add(3);
        queue.add(4);
        queue.add(5);
        System.out.println(queue);

        System.out.println(queue.poll());  // 들어있는 데이터를 빼낼때 poll
        System.out.println(queue); // 2, 3, 4, 5

        System.out.println(queue.poll());  // 2
        System.out.println(queue); // 3, 4, 5

        System.out.println(queue.peek()); //3
        System.out.println(queue); // 3, 4, 5

        System.out.println(queue.contains(3)); //true
        System.out.println(queue.size());  // 3
        System.out.println(queue.isEmpty());

        queue.clear();
        System.out.println(queue);
        System.out.println(queue.poll());  // null
    }
  • stack과 달리 new Queue는 인터페이스로 구현되기 때문에 즉시 객체를 생성할 수 없고 모든 메서드를 다시 작성해야 합니다 LinkedList에는 Queue에 필요한 모든 메서드가 포함되어 있습니다.