Java Collectoin Framework( JCF )
데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것
인터페이스와 다형성을 이용한 객체지향적 설계를 통해 표준화되어 있다.

컬렉션 프레임워크는 크게 Collection 인터페이스와 Map 인터페이스로 나뉜다.
Map 인터페이스 컬렉션들은 두개의 데이터를 묶어 한쌍으로 다루기 때문에 Collection 인터페이스와 따로 분리되어 있다.
장점
데이터 구조 와 알고리즘의 속도, 안정성에 있어 자바 언어 개발진들이 수십년에 걸쳐 JVM(자바 가상 머신)에 최적화시켜 개량해왔기 때문에, 만일 자바 프로그래밍에서 자료 구조를 사용할 일이 있다면 Collectoin Framework를 가져와 사용하면 된다.
특징
컬렉션 프레임워크에 저장할 수 있는 데이터는 오로지 객체(Object) 뿐이다.
즉, int형이나 double형 같은 자바의 primitive 타입은 적재를 못한다. 따라서 primitive 타입을 wrapper 타입으로 변환하여 Integer 객체나 Double 객체로 박싱(Boxing)하여 저장하여야 한다.
객체를 담는 다는 것은 곧 주소값을 담는다는 것이니, null도 저장이 가능하다.
참고)
primitive type인 int 타입일 경우 크기는 4Byte 이다.
반면에 Wrapper 클래스인 Integer는 32bit JVM 환경에서는, 객체의 헤더(8Byte), 원시 필드(4Byte), 패딩(4Byte)으로 '최소 16Byte 크기를 차지한다.
또한 이러한 객체 데이터들을 다시 주소로 연결하기 때문에 16 + α 가 된다.
'Computer Science > DataStructure, Algorithm' 카테고리의 다른 글
| 배열 복사 (0) | 2024.05.21 |
|---|---|
| Graph , Tree , Heap (0) | 2024.03.15 |
| Array , List (0) | 2024.03.01 |
| 자료구조의 분류(순차와 연결 / 선형과 비선형) (0) | 2022.07.08 |
| Stack , Queue (0) | 2022.06.30 |