[이것이자바다] chapter 15. 컬렉션 - 컬렉션 프레임워크(Collection Framework)
chapter 15
컬렉션 프레임워크(Collection Framework)
컬렉션 프레임워크 소개
-
다수의 동일한 객체를 저장하고 필요할때마다 써야하는 상황이 올 때 어떤 방법을 통해 이 상황을 극복할 수 있을까? 제일 쉽게 생각나는 방법은 아마 배열을 이용하는 것일 것이다. 하지만 배열은 저장할 수 있는 객체 수가 배열을 생성할 때 정해져서 불특정 다수의 객체를 저장하기에는 무리가 있고, 또 배열의 크기를 확 늘려버리자니 공간적 낭비가 심하다. 또 그러면 동적배열(ArrayList)을 사용하면 어떠냐고 물어봐도 문제가 있다. 배열의 요소를 삭제했을때 해당 인덱스는 비게 되어 배열의 상태가 낱알이 바진 옥수수처럼 될 수 있고 이를 또 재정비해야 할 필요성이 있다. => 자바는 배열의 이러한 문제점을 해결하고, 널리 알려져 있는 자료구조를 바탕으로 객체를 효율적으로 추가 ,삭제, 검색할 수 있도록 java.util 패키지에 컬렉션과 관련된 인터페이스와 클래스들을 포함시켜 놓았는데 이들을 총칭해서 콜렉션 프레임워크(collection framework)라고 한다.
-
프레임 워크란 사용방법을 미리 정해 놓은 라이브러리를 말한다.
-
자바의 컬렉션 프레임워크의 주요 인터페이스로는 List,Set,Map 이 있다.
인터페이스분류 | 특징 | 구현 클래스 | |
---|---|---|---|
Collection | List | - 순서를 유지하고 저장 -중복 저장 가능 |
ArrayList, Vector, LinkedList |
Collection | Set | - 순서를 유지하지 않고 저장 - 중복 저장 안됨 |
HashSet,TreeSet |
Map | - 키와 값의 쌍으로 저장 - 키는 중복 저장 안됨 |
HashMap, Hahtable, TreeMap, Properties |