[Java] Array와 ArrayList를 알아보자!

이채은·2023년 10월 20일
0

자바

목록 보기
2/4

🚀 1. Array (배열)


배열이란?

  • 같은 데이터 타입의 변수들로 이루어진 자료구조
  • 자바에서 기본적으로 지원하는 자료구조

배열의 장점

  • index는 값에 대한 유일무이한 식별자  인덱스를 통한 검색이 용이하다.
  • 연속된 메모리의 공간으로 이루어져 있다.  연속적이므로 메모리 관리가 편하다.

배열의 단점

  • 정적이므로 배열의 크기를 컴파일 이전에 정해주어야 한다.  컴파일 이후 배열의 크기를 변동 할 수 없다. → 메모리가 낭비됨.

🪐 2. List (리스트)


리스트란?

  • 배열과 유사하게, 같은 데이터 타입의 변수들로 이루어진 자료구조
  • 순서가 있는 데이터의 집합이며, 데이터의 중복을 허용한다.
  • 자바에서 기본적으로 지원하는 자료구조
  • 배열과 달리 크기가 가변적이다.
  • 중간의 빈 공간을 허용하지 않는다.

리스트의 장점

  • 포인터를 통하여 다음 데이터의 위치를 가리키고 있어 삽입 삭제의 용이. → 추가/삭제 성능이 좋다.
  • 불연속적으로 메모리 공간을 차지.  불연속적이므로 메모리 관리가 편리하다.

리스트의 단점

  • 검색 성능이 좋지 않다.
  • 포인터를 통해 다음 데이터를 가리키므로 추가적인 메모리 공간이 발생한다.


🌟 3. ArrayList (배열리스트)


ArrayList란?

  • List 인터페이스를 상속받은 여러 클래스 중 하나이다.

ArrayList 특징

  • 배열과 유사하게 index 식별자 활용이 가능하다.
  • 리스트의 특성인 동적 할당 가능하다. → 크기가 가변적이다.
  • 타입 안정성을 보장해주는 제네릭 사용이 가능하다.

🌌 Array와 ArrayList는 어떤 경우에 사용하면 좋을까?


Array

  • 데이터 개수가 고정적이고 삽입, 삭제가 빈번하지 않은 경우
  • 데이터 접근이 빈번한 경우
  • 기본 자료형(int, char, double..) 사용하고 싶은 경우

ArrayList

  • 데이터 개수가 고정적이지 않고, 삽입, 삭제가 빈번할 경우
  • 데이터 접근이 드물 경우


이 글을 읽는 모두, 좋은 하루 되세요. 😄

1개의 댓글

comment-user-thumbnail
2023년 10월 21일

안녕하세요! 201팀의 포이입니다. 글을 깔끔하게 잘 정리해주신 것 같아요!!
글에 대한 조금의 피드백을 노션 문서로 정리해보았습니다. 시간나실때 확인 부탁드려요!
https://cheddar-liquid-051.notion.site/9219c7bc09b1425a89b8d1e70c8fc5fd?pvs=4

답글 달기