Java
Queue
kcastle
2024. 7. 5. 17:08
● Queue(큐)
: 먼저 추가된 항목이 먼저 제거
: First In - first Out : 먼저 추가된 항목이 가장 먼저 제거
: 데이터가 줄을 서있는 것과 유사하며, 가장 먼저 들어간 항목이 가장 앞에 위치
: 대기, 이벤트 처리
● 메서드
- offer : 큐에 공간이 충분한 경우 값이 추가되고, 추가되면 true 반환
추가되지 못하면 예외
* add를 사용할 수 있지만 offer와 마찬가지로 공간이 없으면 예외 처리가 됨
- poll : 값을 제거하고 반환, 만약에 비어있는 경우 null 반환
- remove : poll 동일한 기능을 수행하지만, 비어있는경우 예외를 던짐
- peek : 맨 앞에 있는 값을 반환하지만 제거하지는 않음
- element : peek처럼 맨 앞에 있는 값을 반환하지만 제거하지 않음. 비어있는 경우 예외를 던짐.
● 코드 예시
public class QuequeEx {
public static void main(String[] args) {
// Queue 인터페이스 이기 때문에 직접 Queue Queue를 사용할 수 없음
// Queue LinkedList 사용해서 많이 작성
Queue<Integer> 큐 = new LinkedList<>();
// 큐에 데이터 추가
큐.offer(1);
큐.offer(2);
큐.offer(3);
// 큐에서 맨 앞 데이터를 확인 제거
int 맨앞 = 큐.poll(); // 제일먼저 들어간 1 확인 후 제거
System.out.println(맨앞);
// 큐 맨 앞에 데이터 확인
int 데이터확인 = 큐.peek(); // 1 제거 후 가장 앞인 2 확인
System.out.println(데이터확인);
boolean isEmpty = 큐.isEmpty();
System.out.println("비어있나요? " + isEmpty);
}
}
결과
1
2
비어있나요? false