프로그래밍/JAVA

java Collection - Queue 정리

p-a-r-k 2020. 3. 10. 20:11
반응형

Queue

자료구조 큐는 FIFO(First In First Out, 선입선출) 형태로 자료를 보관하고 꺼내는 버퍼이다.

보관할 때 offer 메서드를 사용하며 가장 먼저 보관한 자료를 꺼낼 때는 poll 메서드를 사용한다.

이 외에 가장 먼저 보관한 자료를 단순 참조하는 peek 메서드와 비었는지 판별하는 empty 메서드를 제공하고 있다.

제네릭 형태로 사용할 때 큐를 구현한 클래스인 LinkedList, priorityQueue, priorityBlockingQueue 를 생성하여 사용한다.

import java.util.LinkedList;
import java.util.Queue;

public class TestQueue {
    public static void main(String[] ar) {
        Queue q = new LinkedList();
        q.offer("박정환"); // 박정환
        q.offer("김동현"); // 박정환, 김동현
        System.out.println(q.peek()); // 가장먼저 보관한 박정환 확인

        System.out.println(q.poll()); // 박정환 꺼내고 김동현 남음
        q.offer("김희수"); // 김동현, 김희수
        q.offer("정주석"); // 김동현, 김희수, 정주석

        while (q.isEmpty() == false) {
            System.out.println(q.poll()); // 김동현, 김희수, 정주석 순서로 꺼냄
        }
    }
}

Queue(큐)는 offer메서드로 입력받은 순서대로 poll로 반환된다.(FIFO)

반응형