배열과 리스트의 차이

dev_shim·2022년 10월 3일
0

JAVA

목록 보기
1/4
post-thumbnail

배열과 리스트

:동일한 특성의 데이터들의 잡합을 가리키는 자료구조

둘의 가장 큰차이는 구조적 차이

Array : 연속된 메모리 공간에 할당됨

List : 메모리가 연속적인 공간에 있지 않고 다음 노드를 가리키는 주소값을 가짐.

Array

장점

  • 구현이 쉽다.
  • 인덱스가 있어 조회 성능이 뛰어남
  • 연속된 메모리 공간에 할당되어 순차적 접근에도 빠름
  • 참조를 위한 추가 메모리 할당이 필요 없음

단점

  • 삽입/삭제 시 뒤에 모든 요소들이 이동해야 해서 비효율적
  • 선언 시 지정한 크기 변경 불가
  • 메모리 재사용 불가

List

장점

  • 삽입/삭제 시 전후 노드의 참조 관계만 수정하면 되기 때문에 효율적
  • 크기가 고정적이지 않음
  • 메모리 재사용 가능(GC에 의해 가용 메모리로 전환)강

단점

  • 구현이 상대적으로 복잡함
  • 검색에 비효율 적임 (첫 노드부터 순차적으로 조회 해야함)
  • 참조를 위한 메모리가 필요함

결론

  • 저장할 데이터의 개수가 정해져 있고 / 삽입,삭제 작업이 적고 / 특정 위치의 데이터를 조회하는 작업이 많다만 Array

  • 저장할 데이터의 개수가 미정이고 / 삽입, 삭제 작업이 많고 / 특정 위치 데이터를 조회하는 경우가 별로 없다면 List

profile
개발 연습장

0개의 댓글