반응형
🚀
자바에서 큐를 사용하면서 값 추가, 삭제, 검색 메서드가 2개씩 있어서
어떠한 차이점이 있는지 알아보기 위해 정리해봤습니다.
⭐️ Queue 선언
Queue<Integer> q = new LinkedList<>();
Integer형 선언
⭐️ Queue에 값 추가
q.add(x);
q.offer(x);
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 혹은 false를 반환(offer, poll, peek) 하는가입니다.
반응형
'☕️JAVA' 카테고리의 다른 글
[JAVA] SHA-256 암호화 예제코드 (SALT 사용) (0) | 2022.03.03 |
---|---|
[JAVA] Deque(덱) 사용법 (0) | 2022.01.04 |
[JAVA] 자바 형식화된 출력 - printf() 사용 예제 (0) | 2021.10.19 |
[JAVA] 자바 String to Int, Int to String 형변환 (0) | 2021.10.07 |
[JAVA] 명품 자바 에센셜 연습문제 3장 이론&실전 문제 풀이 (2) | 2021.01.11 |