Java/이것이자바다

15.1 컬렉션 프레임워크 소개

유호야 2020. 12. 3. 15:51
반응형

15.1 컬렉션 프레임워크 소개

애플리케이션을 개발하다보면 다수의 객체를 저장해 두고 필요할 때마다 꺼내서 사용하는 경우가 많다.

만약 10개의 Product 객체를 저장해두고, 필요할 때마다 하나씩 꺼내서 이용한다고 가정해보자, 어떻게 Product 객체를 효율적으로 추가, 검색, 삭제할 지 고민해야 되는데, 가장 간단한 방법은 배열을 이용하는 것이다.

 

배열은 쉽게 생성하고 사용할 수 있지만, 저장할 수 있는 객체 수가 배열을 생성할 때 결정되기 때문에 불특정 다수의 객체를 저장하기에는 문제가 있다. 그리고 객체를 삭제했을 때 해당 인덱스가 비게 되어 낱알이 듬성듬성 빠진 옥수수가 될 수 있다. 그렇기 때문에 새로운 객체를 저장하려면 어디가 비어 있는지 확인하는 코드도 필요하다.

자바의 이러한 문제점을 해결하고, 널리 알려져 있는 자료구조 (Data Structure)를 바탕으로 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 java.util 패키지에 컬렉션과 관련된 인터페이스와 클래스들을 포함시켜 놓았다. 이들을 총칭해서 컬렉션 프레임워크(Collection_객체를 수집해서 저장하는 것 FrameWork_사용방법을 미리 정해 놓은 라이브러리)라고 한다. 

ArrayList, Vector, LinkedList는 List 인터페이스를 구현한 클래스로, List 인터페이스로 사용 가능한 컬렉션이다.

List는 순서를 유지하고 저장한다. 중복 저장이 가능하다.
Set은 순서를 유지하지 않고 저장한다. 중복 저장이 불가능하다.
Map은 키와 값의 쌍으로 저장한다. 키는 중복 저장이 불가능하다.
반응형