[Java] List 와 ArrayList

coldbrew·2023년 9월 19일
0

List = 인터페이스
ArrayList = List에 상속된 클래스

  1. List는 인터페이스이고 arrayList는 List에 상속된 클래스
  2. 배열의 크기를 5개로 정했다면 5개 이상의 값을 담을 수 없지만 List는 크기가 정해져 있지 않아 원하는 만큼 값을 담을 수 있다.
  3. List에는 ArrayList, Vector, LinkedList 등의 List 인터페이스를 구현한 자료형이 있다.
    즉, List 인터페이스 안에 ArrayList 클래스가 있는 것이다.
  4. List를 사용해 ArrayList를 생성하는 것이 유연성에 있어서 큰 효과를 볼 수 있다.
List<> list = new ArrayList<>();
ArrayList<> list = new ArrayList<>();

List<> list = new ArrayList<>();
List<> list = new LinkedList<>();

정리

List

장점
1. 리스트는 배열이 가지고 있는 인덱스라는 장점을 버리고 대신 빈틈없는 데이터의 적재 라는 장점을 취함.
2. 포인터를 통하여 다음 데이터의 위치를 가르켜고 있어 삽입 삭제의 용이. → 추가/삭제 성능 좋음.
3. 불연속적으로 메모리 공간을 차지. → 불연속적이므로 메모리 관리의 편리.

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

ArrayList

ArrayList는 Array(배열)와 List(리스트)의 장점을 합친 것입니다.
1. 사용하기 편한 배열의 index 식별자 사용 가능.
2. 리스트의 특성인 동적 할당 가능.
3. 제네릭 사용이 가능하다.

0개의 댓글