[자료구조] Deque

m5n·2024년 5월 21일

자료구조

목록 보기
3/7

Deque❓

  • Deque은 Double-Ended Queue의 줄임말
  • 큐의 양쪽에 데이터를 넣고 뺄 수 있는 형태의 자료구조를 의미
  • 하나의 자료구조에 Queue와 Stack을 합쳐 놓은 형태라고 생각

deque_image


Deque 사용법

Deque 선언

import java.util.ArrayDeque;
import java.util.Deque;

Deque<Integer> deque = new ArrayDeque<>();

add_img

Deque 값 추가

Deque<Integer> deque = new ArrayDeque<>();

deque.addFirst(); 		// Deque의 앞쪽에 데이터를 삽입, 용량 초과시 Exception
deque.offerFirst(); 	// Deque의 앞쪽에 데이터를 삽입 후 true, 용량 초과시 false

deque.push(); 			// addFirst()와 동일

deque.addLast(); 		// Deque의 뒤쪽에 데이터를 삽입, 용량 초과시 Exception
deque.add(); 			// addLast()와 동일

deque.offerLast(); 		// Deque의 뒤쪽에 데이터를 삽입 후 true, 용량 초과시 false
deque.offer();  		// offerLast()와 동일

remove_img

Deque 값 삭제

Deque<Integer> deque = new ArrayDeque<>();

deque.removeFirst(); 	// Deque의 앞에서 제거, 비어있으면 예외
deque.remove(); 		// removeFirst()와 동일

deque.pop(); 			// removeFirst()와 동일

deque.poll(); 			// Deque의 앞에서 제거, 비어있으면 null 리턴
deque.pollFirst(); 		// poll()과 동일

deque.removeLast(); 	// Deque의 뒤에서 제거, 비어있으면 예외
deque.pollLast(); 		// Deque의 뒤에서 제거, 비어있으면 null 리턴

peek_img

Deque 가장 먼저 들어간 값 출력

Deque<Integer> deque = new ArrayDeque<>();

deque.getFirst(); 		// 첫 번째 데이터를 확인, 비어있으면 예외
deque.peekFirst(); 		// 첫 번째 데이터를 확인, 비어있으면 null 리턴

deque.peek();			// peekFirst()와 동일

deque.getLast(); 		// 마지막 데이터를 확인, 비어있으면 예외
deque.peekLast();		// 마지막 데이터를 확인, 비어있으면 null 리턴

Deque 기타 메서드

Deque<Integer> deque = new ArrayDeque<>();

deque.size(); 				// Deque의 사이즈 반환
deque.contain(Object o); 	// Object 인자와 동일한 데이터가 포함되어 있는지 확인
deque.clear();				// Deque 초기화

profile
steady

0개의 댓글