JAVA | Deque - Double-ended-queue (덱/데크) 사용법

728x90

⬛ Deque | Double-ended-queue (덱/데크)

  • 데크 : 큐 양쪽 끝에서 삽입/삭제 모두 수행 가능하도록 확장한 자료구조

⚫ Deque 사용법

1) Deque 생성

Deque<String> dq = new LinkedList<>();

2) Deque 값 추가

값 추가하기

Deque<String> dq = new LinkedList<>();

//1) 앞쪽에 데이터 삽입
dq.addFirst();
dq.offerFirst();
dq.push();

//2) 뒤쪽에 데이터 삽입
dq.addLast();
dq.offerLast();
dq.add();

 

3) Deque 값 제거

값 제거

//1) 앞쪽 값 제거 
dq.removeFirst();
dq.remove();
dq.poll();
dq.pollFirst();
//2) 뒷쪽 값 제거
dq.removeLast();
dq.pollLast();

 

4) Deque에서 데이터를 찾아서 제거 메소드

  • 아래의 메소드들은 인자와 같은 요소가 존재하면 제거하고, 없으면 아무 일도 일어나지 않는다.
//Deque의 앞쪽에서 찾아서 첫 번째 데이터를 삭제
dq.removeFirstOccurrence(Object o);
//Deque의 뒤쪽에서 찾아서 첫 번째 데이터를 삭제
dq.removeLastOccurrence(Object o);

 

5) Deque 값 확인

//1) 앞쪽 값 확인
dq.getFirst(); //비어있으면 예외
dq.peekFirst();//비어있으면 null리턴 
dq.peek(); 

//2) 뒤쪽 값 확인 
dq.getLast();//비어있으면 예외
dq.peekLast(); //비어있으면 null 리턴 

//3) 인자와 동일한 요소 포함 여부 확인 
dq.contain(Object o);

//4) 요소 개수 
dq.size();
728x90