-
[Java] Deque 덱 / 데크 사용법Spring\Java 2021. 8. 30. 14:05
Deque (Double-ended Queue) : 큐의 양쪽으로 삽입/삭제 가능
- Scroll : 한쪽으로만 입력 가능
- Shelf : 한쪽으로만 출력 가능
1. 선언
Deque<Integer> dq = new ArrayDeque<>();
2. 삽입
dq.addFirst(1); // 앞에 삽입 -> 용량 초과시 예외 발생 dq.offerFirst(1); // 정상 처리 true, 실패 false dq.addLast(1); dq.offerLast(1); dq.add(1); // addLast()와 동일 dq.push(1); // addFirst()와 동일 ------------------------------------------------------- dq.addAll(Collection<?extends E c); // 입력 받은 Collection의 모든 데이터를 뒤에 삽입
3. 삭제
dq.removeFirst(); // 덱의 앞 제거 & 리턴, 덱이 비어있을 경우 예외 발생 dq.pollFirst(); //removeFirst()와 동일하나 덱이 비어있으면 null 리턴 dq.removeLast(); dq.pollLast(); dq.remove(); //removeFirst()와 동일 dq.poll(); // pollFirst()와 동일 dq.pop(); //removeFirst()와 동일 dq.element(); //removeFirst()와 동일 ------------------------------------------------------- dq.removeFirstOccurence(Object o); // 앞쪽부터 탐색 -> o와 동일한 첫 엘리먼트 제거 dq.removeLastOccurence(Object o); // 뒤부터 탐색 -> o와 동일한 첫 엘리먼트 제거
4. 출력
dq.getFirst(); // 덱이 비어있으면 예외 발생 dq.peekFirst(); // 비어있으면 null dq.getLast(); dq.peekLast(); dq.peek(); // peekFirst()와 동일
5. 기타
dq.size(); // dq.contail(Object o); // 포함 여부 확인 dq.iterator(); // 앞부터 실행 dq.descendingIterator(); // 뒤부터 실행
'Spring\Java' 카테고리의 다른 글
[Java] StringBuilder 사용법 (0) 2021.08.24 [Java] Queue 큐 (0) 2021.08.23 [Java] LinkedList 사용법 (0) 2021.08.23 인터프리터 언어와 컴파일러 언어의 차이 (0) 2021.07.28