Array vs Arraylist

2023. 1. 10. 15:45·자료구조

공통점

  • 메모리상에 연달아 공간을 확보
  • index로 접근 가능
  • 요소를 추가하거나, 가져올 때 성능 비슷 → ArrayList가 크키 조절이 필요할 때 성능 차이 발생!!
  • 중복되는 요소 저장 가능
  • Null 값 저장 가능

차이점

  • Array는 고정 길이이고 Arraylist는 가변 길이이다.
    • 내부적으로 default size 10인 배열으로 구성 → 최적화로 인해 막 생성하면 사이즈 0
    • 편리함의 대가로 array보다 살짝 느림 → 코딩테스트에서는 array를 사용하는 것이 낫다!
    • ArrayList는 더 이상 저장할 공간이 없으면 보다 큰 새로운 배열을 생성해서 기존의 배열에 저장된 내용을 새로운 배열로 복사한 다음에 저장
    • 새로운 배열의 크기는 기존 배열보다 1.5배 크다.
  • Array는 primitive type, Object 타입의 데이터 모두 저장 가능하고, ArrayList는 Object 타입만 가능하다.
  • Array는 for 또는 for-each loop를 통해 array를 순회할 수 있고, ArrayList는 iterator를 사용해 순회할 수 있다.
  • Array는 정의된 타입의 데이터만 저장이 가능하고 ArrayList는 Generics(제네릭스)를 통해 Type-Safety를 보장한다.
  • Array는 다차원이 가능하고 ArrayList는 항상 단일 차원이다.

 

 

 

참조

https://velog.io/@humblechoi/자료구조-Array-vs-ArrayList

https://prol0gue.tistory.com/9

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

LinkedList : 링크드 리스트  (0) 2023.01.09
'자료구조' 카테고리의 다른 글
  • LinkedList : 링크드 리스트
HBean_
HBean_
백엔드 개발자의 개발 로그 💻
  • HBean_
    개발_log
    HBean_
  • 전체
    오늘
    어제
    • 전체 (102)
      • WEB (49)
        • Spring (14)
        • AWS EC2 (6)
        • DB (3)
        • 2020_webCamp (25)
        • JPA (1)
      • Devops (2)
      • 보안 (4)
      • Git (6)
      • JAVA (13)
      • 자료구조 (2)
      • 알고리즘 (10)
      • 네트워크 (2)
      • SStudy (2)
      • 실전프로젝트2 (4)
      • 개발 일기 (1)
      • 개발툴 (4)
      • Intellij (2)
      • 이슈 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GITHUB
  • 공지사항

  • 인기 글

  • 태그

    웹
    플러그인
    톰캣
    인텔리제이
    tomcat
    IntelliJ
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
HBean_
Array vs Arraylist
상단으로

티스토리툴바