-
[Java] Queue 큐Spring\Java 2021. 8. 23. 15:04
Queue란?
- 데이터를 일시적으로 쌓아두기 위한 자료구조로 스택과는 다르게 FIFO 형태를 가짐
- 컴퓨터 버퍼에서 주로 사용
- 마구 입력이 되었으나 처리를 하지 못할 때, 버퍼를 만들어 대기 시킴
- Enqueue : 큐 맨 뒤에 데이터 추가
- Dequeue : 큐 맨 앞쪽의 데이터 삭제
1. 선언
- 자바에서 큐는 LinkedList를 사용 -> LinkedList 와 Queue 선언 필요
import java.util.LinkedList; import java.util.Queue; Queue<Integer> queue = new LinkestList<>(); Queue<String> queue = new LinkestList<>();
2. 값 추가
- add의 경우 성공시 true 반환, 실패시 IllegalStateException 발생
queue.add(1); // 1 삽입 queue.offer(2); // 2 삽입
3. 값 삭제
- remove의 경우 비어있을 때 NoSuchElement 반환
queue.poll(); // 첫번째 값 반환 -> 삭제, 비어있을 경우 null queue.remove(i); // 첫번째 값 제거 or 원하는 val 삭제 가능 queue.clear(); // 초기화
4. 값 출력
/* 전체 출력 */ Iterator iter = queue.iterator(); while(iter.hasNext()) { System.out.println(iter.next()); } /* 첫번째 값 참조*/ queue.peek();
5. 사이즈 구하기
queue.size();
우선순위큐 (PriorityQueue)?
- 힙을 사용하는것이 일반적
- 이진트리구조
- 원소는 비교가 가능한 기준 필요
- 시간 복잡도 : O(N Log N)
- 우선순위중요 상황에 쓰임
1. 선언
import java.util.PriorityQueue; PriorityQueue<Integer> pq = new PriorityQueue<>(); // 낮은순 PriorityQueue<Integer> pq = new PriorityQueue<>(Collections.reverseOrder()); // 높은순
*출처 : https://crazykim2.tistory.com/571#text6
[JAVA] Queue의 개념 및 사용법 정리
안녕하세요 이번 포스팅에서는 Queue에 대해서 알아보겠습니다 목차 Queue란? Queue 선언하기 Queue 값 추가하기 Queue 값 삭제하기 Queue 크기 구하기 Queue 값 출력하기 Queue란? Queue란 Collection 프레임워크
crazykim2.tistory.com
'Spring\Java' 카테고리의 다른 글
[Java] Deque 덱 / 데크 사용법 (0) 2021.08.30 [Java] StringBuilder 사용법 (0) 2021.08.24 [Java] LinkedList 사용법 (0) 2021.08.23 인터프리터 언어와 컴파일러 언어의 차이 (0) 2021.07.28