기술(Tech, IT)/자바(Java)
[Java] Queue(큐) 선언 및 사용
Daniel803
2022. 9. 27. 05:18
Queue는 대표적인 자료구조(Data Structure)로 일반적으로 First In First Out(FIFO)로 동작한다. (대조되는 자료구조로는 Stack이 있고 Stack은 일반적으로 First In Last Out(FILO)). 담고자 하는 자료형에 따라 Integer, String과 같은 자료형을 함께 선언하면 된다. Java에서 Queue 선언 및 사용은 아래와 같다.
import java.util.Queue;
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
Queue<Integer> iQ = new LinkedList<>();
Queue<String> sQ = new LinkedList<>();
iQ.offer(1);
// Queue에 값을 추가, 빈 공간이 없어 실패 시 false 반환
iQ.add(2);
// Queue에 값을 추가(Enqueue), 빈 공간이 없어 실패 시 IllegalStateException 발생
System.out.println(iQ);
System.out.println(iQ.size());
// Queue의 크기 반환
System.out.println(iQ.peek());
// Queue의 첫 번째 요소 반환, Queue가 비었을 시 null 반환
System.out.println(iQ.element()); // Queue의 첫 번째 요소 반환, Queue가 비었을 시 NoSuchElementException 발생
System.out.println(iQ.poll());
// Queue의 첫 번째 요소를 반환 및 삭제, Queue가 비었을 시 null 반환
System.out.println(iQ.remove());
// Queue의 첫 번째 요소를 반환 및 삭제, Queue가 비었을 시 NoSuchElementException 발생
sQ.offer("a");
sQ.add("b");
System.out.println(sQ);
System.out.println(sQ.size());
System.out.println(sQ.peek());
System.out.println(sQ.element());
System.out.println(sQ.poll());
System.out.println(sQ.remove());
}
}
실행 결과:
[1, 2]
2
1
1
1
2
[a, b]
2
a
a
a
b
출처
반응형