Collections - Queue(PriorityQueue, ArrayDeque,ConcurrentLinkedQueue)

apayaya·2022년 8월 3일
0

Queue

  • interface Queue<E> extends Collection<E>
  • PriorityQueue, LinkedList, ArrayDeque를 구현클래스로 가지는 interface
  • FIFO 자료구조
import java.util.Queue;
Queue<E> queue = new LinkedList<>();

Methods

Exception 발생가능 함수

  • .add(a) -> boolean : 삽입 IllegalStateException
  • .remove() -> E : 최상단 요소 큐에서 제거하고 반환 NoSuchElementException
  • .element() -> E : 최상위 요소 반환 NoSuchElementException

Exception 대신 null 반환

  • .offer(a) -> boolean : 삽입
  • .poll() -> E : 최상단 요소 큐에서 제거하고 반환
  • .peek() -> E : 최상위 요소 반환

Deque

  • interface Deque<E>
  • 구현 클래스 LinkedList, ArrayDeque

PriorityQueue

  • heap 구조를 나타낼수 있음
  • Comparable 한 타입만 수집가능
Queue<E> minHeap = new PriorityQueue<>();
Queue<E> maxHeap = new PriorityQueue<>(Comparator.reverseOrder());   

ConcurrentLinkedQueue

  • Lock-Free
Queue<E> queue = new ConcurrentLinkedQueue<E>();
profile
java 정리

0개의 댓글