..

[Java] Queue

Queue 선언

순차적 데이터 추가/삭제시

Queue<Integer> q - new ArrayList<>();

처음, 중간 데이터를 추가/삭제시

Quene<Integer> q = new LinkedList<>();

Queue에 값 추가

q.add(node);
q.offer(node);
  1. add()
    • 해당 큐 맨 뒤에 값 삽입
    • 값 추가 성공 시 true 반환
    • 큐가 꽉 찬 경우 illegalStateException 에서 발생
  2. offer()
    • 해당 큐 맨 뒤에 값 삽입
    • 값 추가 성공 시 true 반환
    • 값 추가 실패 시 false 반환

Queue에 값 제거

q.remove();
q.poll();
q.clear();
  1. remove()
    • 큐 맨 앞에 있는 값 반환 후 삭제
    • 큐가 비어 있는 경우 NosuchElementException 에러 발생
  2. poll()
    • 큐 맨 앞에 있는 갑 반환 후 삭제
    • 큐가 이버 있는 경우 null 반환
  3. clear()
    • 큐 비우기

Queue 맨 앞 값 확인

q.element();
q.peek();
  1. element()
    • 큐의 맨 앞에 있는 값 반환
    • 큐가 비어있는 경우 NoSuchElementException 에러 발생
  2. peek()
    • 큐의 맨 앞에 있는 값 반환
    • 비어있을 경우 null 반환

정리

Queue에서 데이터 추가/삭제/검색 시 메서드들의 차이는 에러를 발생하느냐(add, remove, element) 아니면 null or false를 반환 하느냐(offer, poll, peek)이다ㄴ