덱 Deque
Deque 는 Double - Ended Queue 의 줄임말이다!
한쪽에서만 삽입, 다른 한쪽에서만 삭제가 가능했던 큐와 달리 양쪽 front, rear 에서 삽입 삭제가 모두 가능한 큐를 의미하는 자료구조이다.
Deque<String> deque = new LinkedList<>();
//삽입
deque.addFirst(); // Deque의 앞쪽에 데이터를 삽입, 용량 초과시 Exception
deque.offerFirst(); // Deque의 앞쪽에 데이터를 삽입 후 true, 용량 초과시 false
deque.addLast(); // Deque의 뒤쪽에 데이터를 삽입, 용량 초과시 Exception
deque.add(); // addLast()와 동일
deque.offerLast(); //Deque의 뒤쪽에 데이터를 삽입 후 true, 용량 초과시 false
deque.offer(); // offerLast()와 동일
deque.push(); // addFirst()와 동일
deque.pop(); // removeFirst()와 동일
//제거
deque.removeFirst(); // Deque의 앞에서 제거, 비어있으면 예외
deque.remove(); // removeFirst()와 동일
deque.poll(); // Deque의 앞에서 제거, 비어있으면 null 리턴
deque.pollFirst(); // poll()과 동일
deque.removeLast(); // Deque의 뒤에서 제거, 비어있으면 예외
deque.pollLast(); // Deque의 뒤에서 제거, 비어있으면 null 리턴
//!
// Deque의 앞쪽에서 찾아서 첫 번째 데이터를 삭제
deque.removeFirstOccurrence(Object o);
// Deque의 뒤쪽에서 찾아서 첫 번째 데이터를 삭제
deque.removeLastOccurrence(Object o);
// removeFirstOccurrence() 메소드와 동일
deque.remove(Object o);
//값 확인
deque.getFirst(); // 첫 번째 엘리먼트를 확인, 비어있으면 예외
deque.peekFirst(); // 첫 번째 엘리먼트를 확인, 비어있으면 null 리턴
deque.peek();// peekFirst()와 동일
deque.getLast(); // 마지막 엘리먼트를 확인, 비어있으면 예외
deque.peekLast();// 마지막 엘리먼트를 확인, 비어있으면 null 리턴
deque.contain(Object o); // Object 인자와 동일한 엘리먼트가 포함되어 있는지 확인
deque.size(); // Deque에 들어있는 엘리먼트의 개수
'알고리즘 공부' 카테고리의 다른 글
코테 벼락치기(코테 요약) (0) | 2022.12.22 |
---|---|
[JAVA] java.util.regex.PatternSyntaxException: Dangling meta character '+' near index 0 (0) | 2022.12.11 |
[구름 ] 단어의 개수 세기 자바(JAVA) (0) | 2022.11.30 |
[구름] 의좋은 형제 자바(JAVA) (0) | 2022.11.30 |
[구름] [알고리즘먼데이] 출석부 JAVA (0) | 2022.11.30 |