초보 개발자의 스터디룸

[Java] Collections Framework(List, Set, Map)이란?

justdoIT0730 2022. 11. 28. 14:17
728x90
728x90

1. Collections Framework란?

 컬렉션 프레임워크란 데이터 군을 저장하는 클래스들을 표준화한 설계를 지칭한다. Java API 문서에서 data group을 다루고 표현하기 위한 단일화된 구조라고 정의한다.

 컬렉션, 다수의 데이터 등을 다루는 데 필요한 다양하고 풍부한 클래스들을 제공하기 때문에 인터페이스와 다형성을 이용한 객체지향적 설계를 통해 표준화되어 있어 사용법이 쉽고, 재사용성이 높은 코드를 작성할 수 있다.

 

2. 컬렉션 프레임워크의 핵심 인터페이스

 컬렉션 프레임워크 내 컬렉션 데이터 그룹을 크게 3가지 타입이 존재한다고 인식하고 각 컬렉션을 다루는 데 필요한 기능을 가진 3개의 인터페이스를 정의했다.

컬렉션 프레임워크의 핵심 인터페이스 간 상속 계층도

 

 List와 Set을 구현한 컬랙션 클래스는 상호 간 공통부분이 많아 Collection 인터페이스로 재정의가 가능하지만 Map 인터페이스는 전혀 다른 형태로 컬렉션을 다루기 때문에 상속계층도 상 포함되지 않는다.

 

728x90

 

인터페이스 특 징
List 순서가 있는 데이터의 집합 / 데이터의 중복 허용 : 대기자 명단 등
ArrayList, LinkedList, Stack, Vector 등
Set 순서를 유지하지 않는 데이터의 집합 / 데이터 중복 불허 : 양의 정수 집합, 소수의 집합 등
HashSet, TreeSet
Map key와 value의 쌍으로 이루어진 데이터 집합 / 순서 유지 안 됨 / key 중복 불허 , value 중복 허용 / 우편번호, 전화번호 등
HashMap, TreeMap, Hashtable, Properties

 

인터페이스 각각의 구현 클래스들을 추가적으로 게시글을 작성해야겠다.

728x90
728x90