..
[Java] Queue
Queue 선언
순차적 데이터 추가/삭제시
Queue<Integer> q - new ArrayList<>();
처음, 중간 데이터를 추가/삭제시
Quene<Integer> q = new LinkedList<>();
Queue에 값 추가
q.add(node);
q.offer(node);
- add()
- 해당 큐 맨 뒤에 값 삽입
- 값 추가 성공 시 true 반환
- 큐가 꽉 찬 경우 illegalStateException 에서 발생
- offer()
- 해당 큐 맨 뒤에 값 삽입
- 값 추가 성공 시 true 반환
- 값 추가 실패 시 false 반환
Queue에 값 제거
q.remove();
q.poll();
q.clear();
- remove()
- 큐 맨 앞에 있는 값 반환 후 삭제
- 큐가 비어 있는 경우 NosuchElementException 에러 발생
- poll()
- 큐 맨 앞에 있는 갑 반환 후 삭제
- 큐가 이버 있는 경우 null 반환
- clear()
- 큐 비우기
Queue 맨 앞 값 확인
q.element();
q.peek();
- element()
- 큐의 맨 앞에 있는 값 반환
- 큐가 비어있는 경우 NoSuchElementException 에러 발생
- peek()
- 큐의 맨 앞에 있는 값 반환
- 비어있을 경우 null 반환
정리
Queue에서 데이터 추가/삭제/검색 시 메서드들의 차이는 에러를 발생하느냐(add, remove, element) 아니면 null or false를 반환 하느냐(offer, poll, peek)이다ㄴ