Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 뒤집은 소수
- 배열
- 임시반장 정하기
- 최대 길이
- 인프런
- 아스키코드
- 10992
- 투 포인터
- 알고리즘
- 모든행과열대각선의합
- java
- 연속부분수열
- array
- Two Pointer
- 10991
- GitHub #Commit #BaekJoon
- 공통원소 구하기
- 등수구하기
- 점수계산
- 두 배열 합치기
- ArrayList
- 가장 짧은 문자거리
- 큰 수 출력하기
- 누적 계산
- 격자판
- 코테준비
- 자바
- Pointer
- 백준
- 보이는 학생
Archives
- Today
- Total
ezhoon
Queue 주요 기능 정리 본문
Queue이란
Queue는 자료구조의 스택과 반대의 구조입니다.
FIFO(First in First Out) 선입선출의 형태를 가지는 것을 Queue입니다.
특징
- 그래프의 넓이 우선 탐색(BFS)에 사용
- front 부분은 삭제 연산만 수행한다.
- rear 부분은 삽입 연산만 수행한다.
- 컴퓨터 버퍼에서 주로 사용하며, Queue를 만들어 대기시킨 후 먼저 들어온 입력부터 처리한다.
사용법
선언구문
import java.util.Queue;
스택은 클래스로 구현하여 제공하지만, 큐는 인터페이스만 있고 별도의 클래스가 없다.
그러므로 큐 인터페이스를 구현한 클래스들을 사용해야 합니다.
Stack과 항상 따라오는 개념이지만 구조가 다르다.
Stack은 이전에 List 인터페이스에 포함되며, ArrayList를 상속받아 이를 기반으로 Stack 자료구조를 만들었습니다.
하지만 Queue는 List 인터페이스의 자료구조를 사용을 할 뿐 포함되어있진 않습니다.
Queue 인터페이스를 이용한 큐 구현
Quere 값 추가
Queue<Integer> queue = new LinkedList<>();
queue.offer(1);
queue.offer(2);
queue.offer(3);
queue.offer(4);
System.out.println(queue);
Queue 값 삭제
Queue<Integer> queue = new LinkedList<>();
queue.offer(1);
queue.offer(2);
queue.poll(); // 첫 번째 값 반환하고 제거 비어있다면 null
queue.remove(); // 첫 번째 값 제거
queue.clear(); // 초기화
Queue 가장 먼저 들어간 값 출력
Queue<Integer> queue = new LinkedList<>();
queue.offer(1);
queue.offer(2);
queue.peek(); // 첫번째 값 참조
'Java > 이론 및 사용방법' 카테고리의 다른 글
버블정렬 (0) | 2022.02.03 |
---|---|
선택정렬 (0) | 2022.02.02 |
Stack 주요 기능 정리 (0) | 2022.01.26 |
Map - HashMap (0) | 2022.01.23 |
Set - HashSet, TreeSet, LinkedHashSet (0) | 2022.01.17 |
Comments