list는 배열의 한계 때문에 만들어진 자료형이다.
배열을 사용하기 위해서는 크기를 정해야 하는데 크기를 알 수 없는 경우가 많다.
List는 메모리가 허용하는 한 계속해서 추가할 수 있다.
java.util.List 인터페이스
java.util.Collection인터페이스를 구현한다.
자료의 내부적인 자동 동기화 기능이 없다.
내부적으로 자료를 배열구조로 가지고 있는 객체, 데이터의 추가/삭제를 위해서는 내부적인 임시배열을 작성 후 데이터를 복사한다 (자료 추가/삭제시 단점)
레퍼런스 타입의 데이터만 저장할 수 있다
데이터 내용의 중복이 가능하다
null값 허용.
장점 : 데이터의 인덱스를 가지고 있기 때문에 검색,참조시 유리,
단점 : 대량의 자료를 추가/삭제시 성능 저하.
1.선언
List<String> list = new ArrayList<>();
리스트에 저장할 데이터의 타입을 정한다. 위에는 String
<>꺽쇠는 제네릭이라고 하며 데이터의 타입을 정함.
String이나 Integer , 클래스를 타입으로 지정하기도 한다.
제네릭으로 타입을 지정 안해줘도 되지만 보통 해줌 오류방지등등의 이점..
안할 경우 여러가지 add가능.
ArrayList<String> list = new ArrayList<>(); , Arraylist라고 해도 무방하다.
차이점은 List는 인터페이스 이고 ArrayList는 구현체이다. List를 기반으로 만들어진것이 ArrayList..
이 부분은 다형성과 관련되어 있다. 일단 이정도로 넘어감.
2.추가
추가- list.add("첫번째인덱스");
list의 0번째 인덱스에 추가된다.
현재 list는 [첫번째인덱스]
요소값을 넣고 추가할 수도 있다.
- list.add(1,"두번째인덱스");
현재 list는 [첫번째인덱스,두번째인덱스]
3.조회
인덱스로 값을 조회하고 싶다면 get(index)함수 사용.
list.get(2);