애플리케이션을 개발하다 보면, 다수의 객체를 저장해 두고 필요할 때마다 꺼내서 사용하는 경우가 많다.
→ 10개의 Product
객체를 저장해 두고, 필요할 때마다 하나씩 꺼내서 이용한다고 가정한다.
이럴 때, 객체를 효율적으로 추가, 검색, 삭제하는 가장 간단한 방법은 배열을 이용하는 방법이다.
배열은 쉽게 생성하고 사용할 수 있지만, 저장할 수 있는 객체 수가 배열을 생성할 때 결정되기 때문에 불특정 다수의 객체를 저장하기에는 문제가 있다.
다른 문제점은 객체를 삭제했을 때, 해당 인덱스가 비게 될 수 있다.
→ 따라서 새로운 객체를 저장하려면 어디가 비어 있는지 확인하는 코드도 필요하다.
자바는 배열의 문제점을 해결하고, 자료구조(Data Structure)를 바탕으로 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 java.util
패키지에 컬렉션과 관련된 인터페이스와 클래스들을 포함시켜 놓았다.
→ 컬렉션 프레임워크(Collection Framework)
자바 컬렉션 프레임워크는 몇 가지 인터페이스를 통해서 다양한 컬렉션 클래스를 이용할 수 있도록 한다.
다음은 이 인터페이스로 사용 가능한 컬렉션 클래스를 보여준다.