Java - Queue

CYSSSSSSSSS·2024년 4월 20일
0

자바

목록 보기
19/26

Java

Queue

Queue?

  • FIFO 구조를 가진 자료구조 (First In First Out)
  • 자바에서는 큐 클래스를 이용해 큐를 사용할 수 있다.
  • 큐 클래스를 사용하기 위해 링크드리스트 클래스를 같이 사용해야 한다.

Import

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

// 선언 
Queue<T> queue = new LinkedList<T>(); // T에는 사용하고 싶은 자료형을 추가해주면된다.

add vs offer

  • add와 offer는 둘다 큐에 데이터를 추가할때 사용하는 함수이다.
  • add는 데이터가 추가 되면 true를 실패시 Exception을 발생 시킨다.
  • 반면에 offer는 데이터를 추가하면 true 실패시 false만 반환 시키는 구조이다.
        queueInt.add(1);
        System.out.println(Arrays.toString(queueInt.toArray()));
        boolean result = queueInt.offer(2);
        System.out.println(result); // offer 메서드는 큐에 데이터를 성공적으로 추가할 경우 true 값을 리턴해준다.
        System.out.println(Arrays.toString(queueInt.toArray()));
        System.out.println(queueInt);

remove vs poll

  • remove와 poll 역시 데이터를 삭제할때 사용하는 메서드이다.
  • remove는 삭제시 맨 앞에있는 원소의 value를 리턴 공백이면 "NoSuchElementException" 예외 처리가 발생한다.
  • poll은 삭제 성공시 value 공백 큐이면 null을 발생한다.
queue.remove();
queue.poll();

element vs peek

  • 큐에서 데이터를 삭제하지 않고 조회만 하고 싶을때 사용하는 메서드들이다.
  • element는 큐의 head 즉 가장 앞에 있는 value를 반환하고 / 존재하지 않으면 false를 반환한다.
  • peek는 반환 성공시 value를 반환하고 /공백큐이면 null을 반환하는 형태이다.
queue.element();
queue.peek();

clear

  • 큐를 초기화 하는 함수
queue.clear();

size

  • 큐의 현재까지 들어있는 원소들의 수
queue.size()

contains

  • 큐에 조회하고 싶은 원소가 존재하는지 여부를 알고 싶을때
  • 존재하면 true를 반환 / 존재 안하면 false를 반환
queue.contains(value)

isEmpty

  • 큐가 공백인지 알고 싶을때
  • 공백이면 true / 공백이 아니면 false를 반환
queue.isEmpty();
profile
개발자 되고 싶어요

0개의 댓글

관련 채용 정보