기본 문법/[JAVA]
[JAVA] List - Stack VS Queue
바켱서
2020. 6. 14. 01:12
구현을 위해 어떠한 컬렉션 클래스를 사용하는 것이 좋을까?
- 순차적으로 데이터를 추가&삭제하는 스택에는 ArrayList와 같은 배열 기반의 컬렉션 클래스를 사용
- 큐는 데이터를 삭제할 때 첫 번째 저장된 데이터를 삭제 --> 빈 공간을 채우기 위해 데이터의 복사가 발생함으로써 ArrayList는 비효율적. --> LinkedList로 구현하는 것이 더 적합하다.
PriorityQueue
Queue인터페이스의 구현체 중의 하나, 저장한 순서에 관계없이 우선순위가 높은 것부터 꺼내게 된다는 특징
Dequeue
Queue의 변형으로, 한 쪽 끝으로만 추가/삭제하는 Queue와 달리, Deque는 양쪽 끝에 추가/삭제 가능
Deque의 구현체로는 ArrayDeque와 LinkedList 등이 있다.