기술(Tech, IT)/자바(Java)

[Java] Queue(큐) 선언 및 사용

Daniel803 2022. 9. 27. 05:18

 Queue는 대표적인 자료구조(Data Structure)로 일반적으로 First In First Out(FIFO)로 동작한다. (대조되는 자료구조로는 Stack이 있고 Stack은 일반적으로 First In Last Out(FILO)). 담고자 하는 자료형에 따라 Integer, String과 같은 자료형을 함께 선언하면 된다. Java에서 Queue 선언 및 사용은 아래와 같다.

 

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

public class Main {

  public static void main(String[] args) {
    Queue<Integer> iQ = new LinkedList<>();
    Queue<String> sQ = new LinkedList<>();

    iQ.offer(1); 
    // Queue에 값을 추가, 빈 공간이 없어 실패 시 false 반환
    iQ.add(2); 
    // Queue에 값을 추가(Enqueue), 빈 공간이 없어 실패 시 IllegalStateException 발생
    System.out.println(iQ);
    System.out.println(iQ.size()); 
    // Queue의 크기 반환
    System.out.println(iQ.peek()); 
    // Queue의 첫 번째 요소 반환, Queue가 비었을 시 null 반환
    System.out.println(iQ.element()); // Queue의 첫 번째 요소 반환, Queue가 비었을 시 NoSuchElementException 발생
    System.out.println(iQ.poll()); 
    // Queue의 첫 번째 요소를 반환 및 삭제, Queue가 비었을 시 null 반환
    System.out.println(iQ.remove()); 
    // Queue의 첫 번째 요소를 반환 및 삭제, Queue가 비었을 시 NoSuchElementException 발생

    sQ.offer("a");
    sQ.add("b");
    System.out.println(sQ);
    System.out.println(sQ.size());
    System.out.println(sQ.peek());
    System.out.println(sQ.element());
    System.out.println(sQ.poll());
    System.out.println(sQ.remove());
  }
}

실행 결과:

[1, 2]
2
1
1
1
2
[a, b]
2
a
a
a
b

 

출처

- https://imyena.tistory.com/99