ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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(); // 뒤부터 실행

     

     

    *출처 : https://soft.plusblog.co.kr/24

    'Spring\Java' 카테고리의 다른 글

    [Java] StringBuilder 사용법  (0) 2021.08.24
    [Java] Queue 큐  (0) 2021.08.23
    [Java] LinkedList 사용법  (0) 2021.08.23
    인터프리터 언어와 컴파일러 언어의 차이  (0) 2021.07.28
Designed by Tistory.