배열의 문제점
: 저장할 수 있는 객체 수가 배열을 생성할 때 결정
-> 불특정 다수의 객체를 저장하기에는 문제가 있음
: 객체를 삭제했을 때 해당 인덱스가 비게 됨
-> 객체를 저장하려면 어디가 비어있는지 확인해야 하고
객체를 불러올 때도 어디에 있는지 하나하나 확인해야해서 사용하기 불편
그래서 자바에는 이런 배열의 문제점을 해결하고, 널리 알려져있는 자료구조(Data Structure)를 효율적으로 사용할 수 있도록 만든 것이 있다.
컬렉션은 사전적 의미로 요소(객체)를 수집해 저장하는 것이다.
컬렉션 프레임워크(Collection Framework)
: 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 제공되는 컬렉션 라이브러리
: java.util 패키지에 포함되어 있는
컬렉션 관련 인터페이스와 클래스들을 총칭해 컬렉션 프레임워크라 부름
자바 컬렉션은 객체를 수집해서 저장하는 역할을 한다. 주요 인터페이스로는 List, Set, Map이 있음
자료 중간에 삽입 삭제가 빈번할 경우
: LinkedList를 사용
마지막 배열에 추가하고 싶을때
: ArrayList를 사용
Vector
: ArrayList와 동일한 구조
: 동기화가 되어있다
: 스레드를 이용하여 코드할 때 사용