본문 바로가기

프로그래밍/JAVA

[JAVA] [](배열)과 List의 차이점

배열[] 과 List의 차이를 알아보자.

 

 

우선적으로 가장 큰 차이점은

배열[] 은 자료의 타입 중 하나이며,

List는 인터페이스다.

 

 

배열의 특징

  • 배열은 고정된 크기의 자료 구조로, 선언할 때 크기를 지정해야 한다.
  • 배열의 크기는 한 번 지정되면 변경이 불가능하다! = 배열은 정적 크기를 가짐

-> 이 특징이 add, remove와 같은 메서드를 사용할 수 없는 이유가 됨!

  • 배열은 인덱스를 사용해 값에 직접적으로 접근 가능하다
  • 배열의 요소는 단일 데이터 타입을 가져야한다. ex) int[], String[] 등으로 선언됨
int numbers[] = new int[6];
String words[] = new String[7];

 

 

 

List의 특징

  • List는 java의 컬렉션 프레임워크(Collection framework)의 일부로, 동적으로 크기가 변할 수 있는 자료 구조임 = 동적 크기를 가지는 List
  • ArrayList, LinkedList 등이 리스트 인터페이스를 구현한 대표적인 클래스임
  • 리스트는 다양한 메소드를 제공해 데이털르 추가, 삭제, 검색 등이 쉬움(add(), remove(), get()의 메소드)
  • 배열과 달리 리스트는 크기를 동적으로 조정이 가능
List<Integer> numbers = new ArrayList<>(); // 정수형 리스트 생성
numbers.add(10); // 값 10을 리스트에 추가
numbers.add(20); // 값 20을 리스트에 추가