[Java] - 배열과 List, ArrayList의 차이점

Woomin Wang ·2025년 3월 5일

[Java]

목록 보기
2/10

배열(Array)


같은 타입의 요소를 연속적으로 저장하는 자료구조로, 크기가 고정되어 있으며 빠른 인덱스 접근이 가능하다.

int[] arr1 = new int[5]; //크기가 5인 배열 생성

int[] arr2 = new int[] {1, 2, 3}; // 초기값을 설정한 배열 생성

int[] arr3 = {1, 2, 3, 4, 5}; // 배열을 직접 초기화
  • 고정 크기: 생성 시 크기를 지정, 변경 불가.

  • 동일한 타입: 하나의 배열에는 같은 타입만 저장.

  • 삽입/삭제 비효율적: 중간에 삽입/삭제 시 성능 저하.

  • 연속된 메모리 공간: 빠른 접근이 가능.

  • 초기화: 배열은 선언 시 초기화되지 않으면 기본값으로 초기화.
    (숫자배열은 0, 객체 배열은 null로 초기화)

List


순차적으로 데이터를 저장하고 중복을 허용하며 자료구조를 정의하는 인터페이스이다.
ArrayList, LinkedList 등의 다양한 구현체를 가진다.

List<Integer> list = new ArrayList<Integer>();
list = new LinkedList<Integer>();
  • 유연성: List 인터페이스로 선언하면, 구현체 변경 가능.

  • 다형성: ArrayList와 LinkedList등 다양한 자료구조 사용 가능.

ArrayList

java.util.List 인터페이스를 구현한 클래스로, 가변 크기 배열을 기반으로 하여 크기 조정이 가능하며, 배열보다 사용하기 편리한 자료구조이다.

ArrayList<Integer> arrayList1 = new ArrayList<Integer>();

List<Integer> arrayList2 = new ArrayList<Integer>();

ArrayList의 특징

  • 클래스: ArrayList는 List 인터페이스를 구현한 구체적인 클래스이다.

  • 가변 크기: 필요에 따라 자동으로 크기가 조정된다.

  • 중복 허용: 동일한 값을 여러 번 저장 가능하다.

  • 순차적 저장: 저장된 요소의 순서가 유지된다.

    메서드설명
    add(E e)요소 추가
    get(int index)특정 인덱스의 요소 가져오기
    remove(int index)특정 인덱스의 요소 삭제
    size()리스트 크기 확인
    clear()모든 요소 삭제
    contains(E e)특정 요소 포함 여부 확인
profile
Backend Developer

0개의 댓글