Array vs ArrayList & LinkedList

surim·2023년 8월 28일

자료구조

목록 보기
2/5

⭐한마디 정리

위 그림처럼 ArrayList는 index가 있고, LinkdedList는 각 원소마다 앞,뒤 원소의 위치값을 가짐

  • Array는 index로 빠르게 값을 찾는 것이 가능함
  • LinkedList는 데이터의 삽입 및 삭제가 빠름
  • ArrayList는 데이터를 찾는데 빠르지만, 삽입 및 삭제가 느림

  • array: 처음 메모리 할당할 때 크기, 데이터 타입 지정

→ 최대 사이즈 모르거나 삽입/삭제할 때 비효율적

⇒ 그래서 나온 것 = list

  • list : 크기를 정해주지 않고, 순서가 중요
  • ArrayList
    • arrayList크기를 지정하지 않고 동적으로 값을 삽입/삭제할 수 있음
    • 조회: index를 가지고 있고, 무작위 접근이 가능해서 데이터를 한번에 가지고 올 수 있음
    • 삽입/삭제
      • 그림에서 1번째 2를 삭제했다면 나머지 뒤 4개를 모두 앞으로 한칸씩 이동해야 함

        ⇒삽입과 삭제가 많다면 arrayList는 비효율적

  • LinkedList
    • 양방향의 연결리스트로 구성, 한 노드에 연결될 다른 노드의 포인터 위치를 가리키는 방식으로 되어있음
    • 정방향 or 연순으로 순차적으로 순회 가능(순서 중요)
    • 조회: 순차적접근이라 검색 속도가 느림
    • 삽입/삭제: 데이터를 추가, 삭제 시 가리키고 있는 주소값만 변경하면 되기 때문에 효율적

참고: https://dev-coco.tistory.com/19

0개의 댓글