
LinkedList를 활용하여 생성해야 한다.new 키워드로 생성할 수도 있지만, Queue는 인터페이스 이기 때문에 해당 인터페이스의 메서드들을 모두 오버라이딩 해줘야 된다.Queue와 LinkedList 모두 import되어 있어야한다.import java.util.LinkedList; //import
import java.util.Queue; //import
Queue<Integer> queue = new LinkedList<>(); //int형 queue 선언, linkedlist 이용
Queue<String> queue = new LinkedList<>(); //String형 queue 선언, linkedlist 이용
💡 LinkedList 컬렉션
ArrayList와의 차이점ArrayList는 내부적으로 배열을 이용하여 메서드로 이리저리 조작이 가능하다.Linked List는 노드(객체) 끼리의 주소 포인터를 서로 가리키며 링크(참조)함으로써 이어지는 구조이다.📌 Java에서 컬렉션(Collection)이란 데이터의 집합(그룹)을 의미하며, JCF(Java Collections Framework)는 이러한 데이터, 자료구조인 컬렌션과 이를 구현하는 클래스를 정의하는 인터페이스를 제공한다.
add() : 값 추가 성공 시 true 반환. 큐가 꽉 찬 경우 IllegalStateException 발생offer() : 값 추가 성공 시 true 반환. 큐가 꽉 찬 경우 false 반환Queue<Integer> stack = new LinkedList<>(); //int형 queue 선언
queue.add(1); // queue에 값 1 추가
queue.add(2); // queue에 값 2 추가
queue.offer(3); // queue에 값 3 추가
remove() : 첫번째 값 반환. 큐가 비어 있는 경우 NoSuchElementException 발생poll() : 첫번째 값을 반환하고 제거. 비어있다면 null 반환.clear() : 큐 비우기 (큐의 모든 값들 삭제)
Queue<Integer> queue = new LinkedList<>(); //int형 queue 선언
queue.offer(1); // queue에 값 1 추가
queue.offer(2); // queue에 값 2 추가
queue.offer(3); // queue에 값 3 추가
queue.poll(); // queue에 첫번째 값을 반환하고 제거 비어있다면 null
queue.remove(); // queue에 첫번째 값 제거
queue.clear(); // queue 초기화
element() : 큐의 맨 앞에 있는 값 반환. 큐가 비어 있는 경우 NoSuchElementException 발생peek() : 큐의 맨 앞에 있는 값 반환. 큐가 비어있는 경우 null 반환Queue<Integer> queue = new LinkedList<>(); //int형 queue 선언
queue.offer(1); // queue에 값 1 추가
queue.offer(2); // queue에 값 2 추가
queue.offer(3); // queue에 값 3 추가
queue.peek(); // queue의 첫번째 값 참조
[Java] 자바 Queue 클래스 사용법 & 예제 총정리
스택, 큐 (Stack, Queue)
자바 LinkedList 구조 & 사용법 - 정복하기
[JAVA] Java 컬렉션(Collection) 정리
[프로그래머스] 기능개발 - JAVA
[JAVA] Queue 자료구조 add와 offer 차이
[프로그래머스/Level2] 기능개발
[프로그래머스/자바] 기능개발 풀이
[JAVA] Queue(큐) 사용법 (add vs offer / remove vs poll / element vs peek)
[JAVA/자료구조] Queue 큐