- 배열과 비슷한 자료구조다. 배열보다 많은 메소드 및 기능을 제공한다.
- 핵심적인 특징
- 대표적인 구현체 (List는 인터페이스다.)
- Vector (과거에 많이 씀)
- ArrayList (가장 대중적으로 많이 씀)
- LinkedList
import
import java.util.List;
import java.util.ArrayList;
객체 생성
List<Integer> list = new ArrayList<>();
- List가 담을 자료형은 참조 타입 자료형만 가능하다.
- 즉 기본 타입 자료형 8종(boolean, char, byte, short, int, long, float, double)은 담을 수 없다.
- 대신에 기본 타입 자료형에 대해서는 Wrapper 클래스를 활용하여 담을 수 있다.(Integer, Float, ...)
- List가 담을 자료형을 <>에 명시하지 않으면, 자동으로 Object를 담는 것으로 되어서
모든 객체를 담을 수 있다.
- 다만 모든 자료형이 들어올 수 있게 되면, 원치 않는 데이터가 들어올 경우
에러를 찾기가 힘들기 때문에 자료형을 제한 해주는 것이 좋다.
추가
list.add(10);
list.add(20);
list.add(30);
삭제
list.remove(0);
- 인덱스가 1칸씩 앞으로 당겨진다.
- ex) 0번째 index 항목을 삭제하여 1번째, 2번째 인덱스 항목들이 0번째, 1번째 인덱스로 됨.
조회
int num = list.get(0);