블로그 이전, 2023. 5. 20. 14:15 에 작성했던 글입니다.
1. 큐

출처 https://jenkov.com/tutorials/java-collections/queue.html
Queue: FIFO(First In First Out) 방식으로 나온다. 먼저 넣은 데이터가 먼저 나온다.
Queue<Integer> queue = new LinkedList<>();
큐를 사용하려면 int형 Queue를 선언하고 LinkedList를 이용한다.
import java.util.LinkedList;
import java.util.Queue;
Queue와 LinkedList를 import 한다.
2.Queue 메서드 정리
1.Queue에 값 추가
1) add()
-해당 큐 맨 뒤에 값 삽입
-값 추가 성공시 true 반환
-큐가 꽉 찬 경우 lllegalStateException 에러 발생
2) offer()
-해당 큐 맨 뒤에 값 삽입
-값 추가 성공시 true 반환
-값 추가 실패 시 false 반환
2.Queue에 값 제거
1) remove()
-큐 맨 앞에 있는 값 반환 후 삭제
-큐가 비어있는 경우 NoSuchElementExeption에러 발생
2) poll()
-큐 맨 앞에 있는 값 반환 후 삭제
-큐가 비어있을 경우 null 반환
3) clear()
-큐 비우기
3.Queue 맨 앞 값 확인
1) element()
-큐의 맨 앞에 있는 값 반환
-큐가 비어있는 경우 NoSuchElementException 에러 발생
2)peek()
-큐의 맨 앞에 있는 값 반환
-비어있을 경우 null 반환
4.Queue 기타
1)isEmpty()
-큐가 모두 비었는지 확인
-반환값 boolean 값
2)size()
-큐의 크기를 반환
-반환값 int 형태
-큐가 비면 0 반환
Queue에서 데이터를 추가, 삭제, 검색할 때 제공되는 메서들의 차이는 문제 상황에서 에러를 발생시키느냐(add, remove, element) 아니면 null 혹은 false를 반환(offer,poll,peek)하는가다. (출처: https://cocoon1787.tistory.com/774)