콜렉션 프레임워크(Collection Framework)란?
- 각 자료 구조(Data Structure)들을 자바 클래스로 구현한 모음
- 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 둔 것
- 콜렉션 프레임워크에는 객체만 저장 가능
- 표준화가 되어 있어 사용법이 편하고 재사용성이 높다.
- 웹 개발 현장에서 자주 사용되는 콜렉션 클래스는 ArrayList, LinkedList, HashMap, HashSet 정도
배열과 컬렉션의 비교
특성 | 배열 | 컬렉션 |
---|
크기 관리 | 고정 크기 | 동적 크기 |
요소 타입 | 단일 타입 | 제네릭스로 다양한 타입 지원 |
성능 | 높은 성능 | 성능은 자료구조에 따라 다름 |
유연성 | 낮음 | 높음 |
메서드 제공 | 제한적 | 다양한 메서드 제공 |
타입 안전성 | 없음 | 제네릭스를 통한 타입 안전성 제공 |
동기화 | 없음 | 동기화 지원으로 멀티 스레딩 환경에서 안전 |
콜렉션 프레임워크(Collection Framework)의 종류
![](https://velog.velcdn.com/images/lxn_ee/post/f58d684b-680f-40ec-b6a9-002cf4d9517e/image.png)
- 크게 Collection Interface와 Map Interface로 나뉜다.
- 대부분의 콜렉션 클래스는 List, Set, Map 중 하나를 구현하고 있으며, 구현한 인터페이스명을 클래스명으로 사용
Iterable Interface
- 콜렉션 인터페이스들의 최상위 인터페이스
- 이터레이터 객체를 관리하는 인터페이스
구현 메소드
메소드 | 설명 |
---|
default void forEach(Consumer<? super T> action) | 함수형 프로그래밍 전용 루프 메소드 |
Iterator iterator() | 콜렉션에서 이터레이터 구현 |
default Spliterator splierator() | 파이프라이닝 관련 메소드 |
Collection Interface
- List, Set, Queue에 구현되는 실질적 최상위 콜렉션 타입
더보기
https://hill-sweatshirt-1f4.notion.site/Collection-Framework-fb268d37b9284ff9b37174fa69735efa