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
'코딩 테스트 [준비] > JAVA | 활용할 문법 정리' 카테고리의 다른 글
JAVA | 객체 비교하기 - equals()와 hashCode() 재정의 (43) | 2023.12.22 |
---|---|
JAVA | HashMap에서 ConcurrentModificationException 발생 시[해결] (0) | 2023.10.18 |
JAVA | 구분자 여러개일 때 split() 정규식으로 뽑는 방식 (0) | 2023.07.21 |
JAVA | 알파벳, 대/소문자 확인하는 방법 | isUpperCase(), isLowerCase(), isAlphabetic() (0) | 2023.07.21 |
JAVA | 사용자 정의 객체 정렬 - String 타입의 사전 순 정렬 (0) | 2023.07.21 |