[java] 자바, 큐 (Queue, Deque)
큐(Queue)
- FIFO(First in First out)
쉽게 말해서 큐는, 먼저들어간 데이터가 먼저 나가는 자료구조 형태이다.(선입선출)
1. java에서의 큐
쉽게 말해서 큐는, 먼저들어간 데이터가 먼저 나가는 자료구조 형태이다.(선입선출)
(클래스 사용법)
Queue< E > q = new LinkedList< E >();
E : 자료형
2. 큐 함수
[삽입]
q.offer(Data);
[추출]
q.poll(); //맨 앞에 데이터 추출 후 삭제
q.peek(); //맨 앞에 데이터 조회만(삭제 x)
[크기]
q.size();
q.isEmpty(); //비어있는지 확인
덱,데크(Deque)
- Stack + Queue
1) 스택과 큐의 혼합형(?)
2) 스택의 장점과 큐의 장점을 둘다 사용할 수 있다.
3) 데이터의 추출과 삭제를 앞, 뒤로 할 수 있다.
4) 추천
1. java에서의 덱
1) 스택과 큐의 혼합형(?)
2) 스택의 장점과 큐의 장점을 둘다 사용할 수 있다.
3) 데이터의 추출과 삭제를 앞, 뒤로 할 수 있다.
4) 추천
(클래스 정의)
Deque< E > dq = new ArrayDeque< E >();
[예시]
Deque<Integer> dq = new ArrayDeque<Integer>();
//Deque 배열은 이렇게
Deque<int[]> dq = new ArrayDeque<int[]>();
2. Deque 함수
[삽입]
dq.offer(1); //큐랑 같음
dq.offerFirst(1); //앞으로 삽입(큐와 반대)
dq.offerLast(1); // 뒤로 삽입
- add, offer, push(push는 first, Last 사용 불가) 사용가능
- 그래도 큐니까 offer로 하는게 안 헷갈림
[배열 삽입]
dq.offer(new int[]{5,4,1,....,});
[추출]
dq.poll(1); //큐랑 같음
dq.pollFirst(1); //앞에꺼 추출
dq.pollLast(1); //뒤에꺼 추출(큐와 반대)
dq.peek() //똑같이 first, Last 사용가능
dq.get() //peek()랑 똑같음
- 덱은 Stack 과 Queue의 결합이기 때문에
- push, pop도 가능하다.
Author And Source
이 문제에 관하여([java] 자바, 큐 (Queue, Deque)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@thalals/java-자바-큐-Queue-Deque저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)