Java

ArrayList와 List

파란배개 2025. 1. 3. 17:55

ArrayList

ArrayList 는 java에서 제공하는 List 인터페이스를 구현한 구체적인 클래스로, 동적 배열을 구현한 자료구조.

특징

-크기가 가변적으로 요소가 추가되거나 제거될 때 자동으로 크기가 조정됨. java의 배열보다는 javascript의 배열에 가까운 느낌이다.

-인덱스 기반, 순차적(Iterator, for-each 루프) 접근이 모두 가능하다.

-동일한 요소 저장이 가능하다.

 

List<>

java 컬렉션 프레임워크에서 제공하는 특정 구현체가 아니라 인터페이스로 순서가 있는 컬렉션을 나타냄.

특징

-실제로는 ArrayList나 LinkedList 등의 구체적인 클래스로 구현됨

-다형성을 가져 List 인터페이스를 사용하면 나중에 ArrayList 대신 LinkedList로 쉽게 변경 가능함.

-제네릭 타입을 가져 다이아몬드(<>) 안쪽의 타입을 가진 객체만 저장할 수 있음.

 

사용처

특정 구현체를 명시적으로 사용해야 할 때(ex - 성능 최적화) = ArrayList

다형성을 활용하여 유연한 코드를 작성할 때 =List<>

 

'Java' 카테고리의 다른 글

Stream API  (1) 2025.01.25
제네릭의 정의와 설명  (1) 2025.01.05