Array는 primivite 타입이나 Object 둘 다 사용 가능하지만
기본형 타입(Primitive type)
총 8가지의 기본형 타입(Primitive type)을 미리 정의하여 제공한다.
기본값이 있기 때문에 Null이 존재하지 않는다.
- 논리형 boolean
- 정수형 byte
- short 2 byte
- int(기본) 4 byte
- long 8 byte
- 실수형 float
- double(기본) 8 byte
- 문자형 char
ArrayList는 Object만 사용 가능하다.
Array는 길이 고정이지만 ArrayList는 동적으로 길이를 변경 가능하다.
Array는 ArrayList처럼 다양한 기능을 제공하지 않는다. (addAll, removeAll, iterator 등)
리스트와 관련된 작업을 할때 ArrayList를 사용하는 것이 좋지만 Array를 사용하는것이 좋을 때가 있다.
리스트는 그렇지않음
ArrayList는
LinkedList는 데이터를 저장하는 각 노드가 이전 노드와 다음 노드의 상태만 알고 있다고 보면 된다.
ArrayList와 같이 데이터의 추가, 삭제시 불필요한 데이터의 복사가 없어 데이터의 추가, 삭제시에 유리한 반면 데이터의 검색시에는 처음부터 노드를 순회해야 하기 때문에 성능상 불리하다.
List 추가: 리스트명.add("값")
List 삭제: 리스트명.remove("값");
리스트명.remove(인덱스)
List 값 변경: 리스트명.set(인덱스, "바꿀값");
List 크기 확인: 리스트명.size();
List에 특정 값 들었는지 확인: 리스트명.contains("값");
List가 비었는지 확인: 리스트명.isEmpty();
리스트명.addAll(다른컬렉션명(List, Set..));