안녕하세요, 여행벌입니다.

오늘은 자바 컬렉션프레임워크에 대해서 포스팅해보도록 하겠습니다.


컬렉션프레임워크

 자바에서 말하는 컬렉션 프레임워크는 "데이터의 저장 방법, 이와 관련 있는 알고리즘들을 잘 정의해놓은 클래스들의 구조" 라고 얘기할 수 있습니다.

 즉, 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 자료구조와 알고리즘들을 지원해주는 자바 프레임워크입니다!

컬렉션프레임워크 기본구조

 컬렉션프레임워크의 인터페이스들은 다음과 같은 기본 골격을 가지고 있습니다.

 Map 인터페이스를 제이하고 모두 Iterable 인터페이스와 Collection 인터페이스를 상속하고 있는 구조입니다.

컬렉션클래스

 '컬렉션 클래스' 들은 컬렉션 인터페이스 Set, List, Queue, Map 를 구현한 클래스들을 의미합니다. Vector 클래스, Hashtable 클래스와 같이 자바 초기부터 존재하는 컬렉션 클래스들도 있지만, 이전 코드와의 호환성 유지를 위해 존재하는 클래스일 뿐입니다. 이 클래스들은 성능 저하의 원인이 되기도 하므로 아직도 유용하게 사용되거나 새롭게 추가된 더 좋은 컬렉션 클래스들만 차근차근 정리해보도록 하겠습니다.

인터페이스별 특징

인터페이스 설명 클래스
List<E> / Queue<E> 순서가 있는 데이터 집합으로, 중복 데이터를 허용한다 ArrayList, LinekdList, Queue, Deque
Set<E> 순서가 없는 데이터 집합으로, 중복 데이터를 허용하지
않는다.
HashSet, TreeSet
Map<K,V> 순서가 없는 <Key, Value> 쌍의 데이터 집합으로 Key의
중복을 허용하지 않는다.
HashMap, TreeMap

 크게 위의 표와 같이 3가지 인터페이스로 나눠볼 수 있습니다. 물론, List<E> / Queue<E> 인터페이스는 서로 다른 인터페이스입니다!


컬렉션 프레임워크의 컬렉션 클래스들을 잘 사용한다면

상황에 맞는 자료구조와 알고리즘을 쉽게 사용할 수 있습니다.

차근차근 컬렉션 클래스들과 알고리즘을 정리해보도록 하겠습니다.

+ Recent posts