[TIL][Java][2023-12-05] 컬렉션 - Queue
2023. 12. 5. 19:03ㆍTIL/Java
Queue
빨대처럼 한쪽에서 데이터를 넣고 반대쪽에서 데이터를 뺄 수 있는 집합이다.
- 특징
- Firts In First Out : 먼저 들어간 순서대로 값을 조회할 수 있다.
- 때문에 넣는 기능(add()), 조회(peek()), 꺼내는 기능(poll())만 존재한다.
- Queue는 생성자가 없는 껍데기라서 바로 생성할 수는 없다.(인터페이스)
- 생성자가 존재하는 클래스인 LinkedList를 사용하여 Queue를 생성해서 받을 수 있다.
- 기능
- 선언 : Queue<Integer> intQueue 의 형태로 선언한다.
- 생성 : new LinkedList<Integer>(); 의 형태로 생성한다.
- 추가 : intQueue.add(추가할 값) 의 형태로 값을 맨 위에 추가한다.
- 조회 : intQueue.peek() 의 형태로 맨 아래값을 조회한다.
- 꺼내기 : intQueue.poll() 의 형태로 맨 아래값을 꺼낸다.(꺼내고 나면 삭제됨)
// Queue
// (사용하기 위해선 java.util.LinkedList; 와 import java.util.Queue; 를 추가해야한다.)
import java.util.LinkedList;
import java.util.Queue;
public class Main {
public static void main(String[] args) {
Queue<Integer> intQueue = new LinkedList<>(); // 선언 및 생성
// 값 추가
intQueue.add(1);
intQueue.add(2);
intQueue.add(3);
while (!intQueue.isEmpty()) { // 다 지워질때까지 출력
System.out.println(intQueue.poll()); // 1,2,3 출력
}
// 다시 추가
intQueue.add(1);
intQueue.add(2);
intQueue.add(3);
// peek()
System.out.println(intQueue.peek()); // 1 출력 (맨먼저 들어간값이 1이기때문)
System.out.println(intQueue.size()); // 3 출력 (peek() 할때 삭제 안됐음)
// poll()
System.out.println(intQueue.poll()); // 1 출력
System.out.println(intQueue.size()); // 2 출력 (poll() 할때 삭제 됐음)
System.out.println(intQueue.poll()); // 2 출력
System.out.println(intQueue.size()); // 1 출력 (poll() 할때 삭제 됐음)
while (!intQueue.isEmpty()) { // 다 지워질때까지 출력
System.out.println(intQueue.poll()); // 3 출력 (마지막 남은 값 하나)
}
}
}
'TIL > Java' 카테고리의 다른 글
[TIL][Java][2023-12-07] 컬렉션 - Map (1) | 2023.12.07 |
---|---|
[TIL][Java][2023-12-06] 컬렉션 - Set (0) | 2023.12.06 |
[TIL][Java][2023-12-04] 컬렉션 List - Stack (1) | 2023.12.04 |
[TIL][Java][2023-12-01] 컬렉션 List - LinkedList (0) | 2023.12.01 |
[TIL][Java][2023-11-30] 컬렉션 List - ArrayList (0) | 2023.12.01 |