컬렉션 프레임워크(collection framework)의 정의

Bloooooooooooooog..·2022년 12월 28일

자바의 컬렉션이란 🎁

메모리 상의 자료를 구조적으로 처리하기 위해 자바에서 제공하는 프레임워크

추가, 삭제, 정렬 등의 기능처리가 간단하게 해결되어 자료구조적인 알고리즘을 일일히 구현할 필요가 없다.

java.util 패키지에 포함되며, 인터페이스를 통해 정형화된 방법으로 다양한 컬렉션 클래스 이용 가능

기존 배열의 문제점

1. 크기를 지정하면 변경할 수 없다

공간의 크기가 부족하면 에러가 발생하고, 넉넉한 크기로 공간을 할당하면 메모리 낭비가 발생한다.

2. 배열에 기록된 데이터에 대한 중간 위치의 추가 삭제가 불편하다

3. 한 타입의 데이터만 저장 가능하다

컬렉션의 장점

1. 저장하는 크기의 제약이 없다

2. 추가 삭제 정렬 등의 기능 처리가 간단하다

3. 여러 타입의 데이터 저장이 가능하다

컬렉션은 별도의 제네릭을 설정하지 않을 경우 여러 타입의 데이터를 보관할 수 있다.
컬렉션의 경우 객체만 저장이 가능하기 때문에 기본 자료형을 저장해야 하는 경우는 Wrapper 클래스를 사용한다.

cf) Wrapper 클래스
기본 자료형을 객체로 다루기 위한 클래스로 총 8가지이다. (Character, Boolean, Float, Double, Byte, Short, Integer, Long)

List, Set, Map

List

자료를 순차적으로 나열한 자료구조로, 인덱스로 관리되며 중복해서 객체 저장이 가능하다.
구현 클래스로는 ArrayList, Vector, LinkedList가 있다.

Set

저장 순서가 유지되지 않고, 중복 객체도 저장하지 못하게 하는 자료 구조이다.
null도 중복을 허용하지 않아 1개의 null값만 저장된다.
구현 클래스로는 HashSet, TreeSet 등이 있다.

Map

키와 값으로 구성되어 있으며, 기와 값 모두 객체이다. 키는 중복을 허용하지 않고 값은 중복을 허용한다. 키가 중복되는 경우 기존에 있는 키에 해당하는 값을 덮어씌운다.
구현 클래스는 HashMap, TreeMap, HashTable, Properties 등이 있다.

profile
공부와 일상

0개의 댓글