728x90
반응형
Deque 자료구조와 method
- Deque(Double-Ended Queue)는 큐의 구조에 양쪽에서 데이터를 삽입 삭제 할 수 있는 자료구조이다.
- Queue 의 선입선출 (FIFO: First In First Out) 구조와
- Stack 의 후입선출 (LIFO: Last In First Out) 구조를 모두 포용한다.
- 원하는 대로 Queue와 Stack의 동작을 모두 수행할 수 있다.
- 값 삽입
- addFirst(value): 맨 앞에 값을 삽입. 실패 시 Exception 발생
- offerFirst(value): 맨 앞에 값을 삽입. 성공시 true, 실패 시 false 반환
- addLast(value): 맨 뒤에 값을 삽입. 실패 시 Exception 발생
- offerLast(value): 맨 에 값을 삽입. 성공시 true, 실패 시 false 반환
- add(value): addLast()와 동일함.
- offer(value): offerLast()와 동일함.
- 값 삭제
- removeFirst(): 맨 앞 값을 제거 후 반환. Empty Deque면 Exception 발생
- pollFirst(): 맨 앞 값을 제거 후 반환. Empty Deque면 null 반환
- removeLast(): 맨 뒤 값을 제거 후 반환. 값이 존재하지 않으면 false 반환
- pollLast(): 맨 뒤 값을 제거 후 반환. Empty Deque면 null 반환
- remove(): removeFirst()와 동일함.
- poll(): pollFirst()와 동일함.
- remove(value): 해당 값을 제거 후 반환. 값이 존재하지 않으면 false 반환
- 값 조회
- getFirst(): 맨 앞 값을 제거 하지 않고 반환. Empty Deque면 Exception 발생
- peakFirst(): 맨 앞 값을 제거 하지 않고 반환. Empty Deque면 null 반환
- getLast(): 맨 뒤 값을 제거 하지 않고 반환. Empty Deque면 Exception 발생
- peakLast(): 맨 값을 제거 하지 않고 반환. Empty Deque면 null 반환
- element(): getFirst()와 동일함.
- peak(): peakFirst()와 동일함.
- isEmpty(): Empty Deque면 true, 아니면 false 반환
- size(): Deque의 크기(원소 개수) 반환
- contains(value): Deque 내에 값이 존재하면 true, 아니면 false
- removeFirstOccurrence(value): Deque에서 해당 값이 제일 첫번째로 존재하는 element 를 제거한다.
- removeLastOccurrence(value): Deque에서 해당 값이 제일 마지막으로 존재하는 element 를 제거한다.
728x90
알게 된 점
- 같은 기능의 method 라도 Exception을 발생하는 method와 false를 반환하는 method 가 있다.
- 어떤 경우에 어떤 method를 써야 적합한지 알아봐야겠다.
다음에 학습할 것
- Deque의 구현체들 (LinkedList, ArrayDeque 등) 알아보기
- Deque 자료구조 직접 구현해 보기
반응형
Java에서 제공해 주는 class를 사용하는 것이 용이하지만, 내부구조를 이해하고 직접 구현해 보는 것이 도움이 많이 될 것 같다.
728x90
반응형
'Club > 99클럽 코테 스터디 2기' 카테고리의 다른 글
99클럽 코테 스터디 19일차 TIL BFS (0) | 2024.06.07 |
---|---|
99클럽 코테 스터디 18일차 TIL DFS (0) | 2024.06.06 |
99클럽 코테 스터디 16일차 TIL 문자열 join (0) | 2024.06.04 |
99클럽 코테 스터디 15일차 TIL 포화이진트리 (1) | 2024.06.03 |
99클럽 코테 스터디 14일차 TIL Java List 복사와 참조 (0) | 2024.06.02 |
댓글