인프런 커뮤니티 질문&답변

kyk님의 프로필 이미지
kyk

작성한 질문수

김영한의 실전 자바 - 중급 2편

Deque와 Stack, Queue

ArrayDeque와 LinkedList 선택 기준

해결된 질문

작성

·

171

·

수정됨

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예

[질문 내용]
지난 강의에서 ArrayList와 LinkedList 구현체 선택 기준이

  • 데이터를 조회할 일이 많거나

     

    뒷 부분에 데이터를 추가,

    삭제가 많은 경우

    → 배열 리스트

  • 앞쪽의 데이터 추가, 삭제가 많은 경우

    → 연결 리스트

로 알려주셨습니다.

 

  1. 이번 ArrayDeque와 LinkedList의 구현체 선택 기준에 대한 언급은 없는데,

     

    실무에서 거의 ArrayDeque로만 사용해서 그런건가요?

 

  1. 아니면 실무에서 ArrayDeque 대신 LinkedList로 사용할 때도

     

    ArrayList와 LinkedList의 선택 기준이랑 동일하게

     

    앞쪽에 데이터 추가, 삭제가 많을 때 사용하나요?

 

강의에서는 덱의 구현체는

노드 링크를 사용하는 LinkedList보다는

단순한 배열 구조로 성능이 빠른 ArrayDeque를 사용하자로 마무리하셔서 질문 남깁니다.

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. kyk님

Deque를 사용하는 경우 데이터를 앞이나, 뒤에 추가하거나 제거할 때 사용하는데요.

두 경우 모두 대부분의 상황에서 ArrayDeque는 LinkedList 보다 성능이 빠릅니다 🙂

ArrayDeque는 배열을 사용하지만 단순한 배열이라기 보다는 circular buffer라는 방식을 사용하는데요.

관련해서 circular buffer를 검색해보시면 도움이 되실거에요.

감사합니다.

kyk님의 프로필 이미지
kyk

작성한 질문수

질문하기