List = 인터페이스
ArrayList = List에 상속된 클래스
List<> list = new ArrayList<>();
ArrayList<> list = new ArrayList<>();
List<> list = new ArrayList<>();
List<> list = new LinkedList<>();
정리
장점
1. 리스트는 배열이 가지고 있는 인덱스라는 장점을 버리고 대신 빈틈없는 데이터의 적재 라는 장점을 취함.
2. 포인터를 통하여 다음 데이터의 위치를 가르켜고 있어 삽입 삭제의 용이. → 추가/삭제 성능 좋음.
3. 불연속적으로 메모리 공간을 차지. → 불연속적이므로 메모리 관리의 편리.
단점
1. 검색 성능이 좋지 않다.
2. 포인터를 통해 다음 데이터를 가르키므로 추가적인 메모리 공간 발생.
ArrayList는 Array(배열)와 List(리스트)의 장점을 합친 것입니다.
1. 사용하기 편한 배열의 index 식별자 사용 가능.
2. 리스트의 특성인 동적 할당 가능.
3. 제네릭 사용이 가능하다.