ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Array vs List 차이점, LinkedList, ArrayList
    CS/자료구조 2023. 4. 25. 22:38

     

     

    Array(배열) List(리스트)
    인덱스가 있는 자료형
    객체 생성 시 크기 할당 필수
    크기를 할당할 필요가 없음
    순차적으로 자료 저장
    👉자주 삭제되거나 추가되는 데이터는 적절하지 않음
    앞의 요소가 삭제되면 새로 추가되는 요소가 그 공간에 저장될 수 있음
    삽입, 삭제가 느림 (shift 해주는 비용이 생기기 때문)
    👉 이 문제를 해결하기 위한 자료구조가 LinkedList
    삽입, 삭제가 빠르지만 데이터 조회가 느림

     

    LinkedList

    - 각각의 원소들은 자기 자신 다음에 어떤 원소인지만을 기억하고 있어 이 부분만 다른 값으로 바꿔주면 삽입과 삭제를 해결할 수 있음.
    - 원하는 위치에 한 번에 접근할 수 없음
    - 삽입, 삭제 빠름, 조회 느림

     

    ArrayList

    - 자바의 List 인터페이스를 상속받은 여러 클래스 중 하나 (List는 인터페이스, ArrayList는 클래스)

    - 일반 배열과 동일하게 연속된 메모리 공간을 사용하며, 인덱스는 0부터 시작

    - 배열과의 차이점은 배열은 크기가 고정인 반면 ArrayList는 크기가 가변적으로 변함

    - 내부적으로 저장이 가능한 메모리 용량이 있으며 이를 초과하면 더 큰 공간의 메모리를 새롭게 할당

    - Generic 을 사용하지 않고 선언한다면 다양한 타입의 객체를 저장 가능

    'CS > 자료구조' 카테고리의 다른 글

    HashMap vs LinkedHashMap 차이점 및 사용  (0) 2023.04.25
    Collection - List, Set, Map  (0) 2023.03.07
Designed by Tistory.