본문 바로가기

Backend/Java

컬렉션 프레임워크(Collection Framework)

컬렉션

  • 사전적 의미로 요소(객체)를 수집해 저장한 것

프레임워크 = 라이브러리(기능) + 프로그래밍 방식

  • 표준화, 정형화된 체계적인 프로그래밍 방식
  • 미리 정해진 방식대로 프로그램을 작성
  • 누가 작성하든 프로그램이 표준화되기 때문에 프로그램 유지보수하기 쉬워짐

컬렉션 프레임워크(Collection Framework)

  • 컬렉션(다수의 객체)를 다루기 위한 표준화된 프로그래밍 방식
  • 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 제공되는 컬렉션 라이브러리
  • 인터페이스를 통해서 정형화된 방법으로 다양한 컬렉션 클래스 이용
  • 인터페이스와 다형성을 이용한 객체지향적 설계를 통해 표준화 -> 사용법 편리 재사용성 높은 코드 작성 가능
  • 프로그래머의 프로그래밍 부담을 많이 덜어 줌
  • java.util. * 패키지에 포함

 

자바 컬렉션 

  • 객체를 수집해서 저장하는 역할

자바 프레임워크

  • 사용법을 미리 정해 놓은 라이브러리
  • Java로 애플리케이션을 만들기 위해 사용하는 미리 작성된 코드의 본문입니다.
  • Java에만 있는 독특한 요소

컬렉션 클래스

  • 다수의 데이터를 저장할 수 있는 클래스
  • 예: ArrayList, LinkedList, Vector, HashSet, TreeSet

컬렉션 프레임워크의 주요 인터페이스

  Collection
 
인터페이스 List Set Map
컬렉션 클래스 ArrayList HashSet HashMap
Vector HashTable
LinkedList TreeSet TreeMap
Properties

 : List와 Set의 공통된 부분을 뽑아서 새로운 인터페이스 Collection이 추가로 정의되었음

 : Map은 List/Set과 전혀 다른 형태로 컬렉션을 다룸 -> 같은 상속 계층에 포함되지 못함

인터페이스 특징
List 순서가 있는 데이터의 집합
데이터의 중복 허용
구현 클래스 : ArrayList, LinkedList, Vector 등
Set 순서를 유지하지 않는 데이터의 집합
데이터의 중복 허용하지 않음
구현 클래스 : HashSet, TreeSet 등
Map 키와 값의 쌍으로 이루어진 데이터의 집합
순서를 유지하지 않는 데이터의 집합
키의 중복은 허용하지 않지만, 값의 중복은 허용
구현 클래스 : HashMap, TreeMap, HashTable, Properties 등

컬렉션 프레임워크 특징

  • List, Set, Map 인터페이스 이름이 클래스 이름에 포함되어 있음
  • 이름만으로도 클래스의 특징을 쉽게 알 수 있음
  • Vector, Stack, Hashtable, Properties와 같은 클래스들은 컬렉션 프레임워크가 만들어지기 이전부터 존재했기 때문에 컬렉션 프레임워크 명명법을 따르지 않음
  • Vector, Hashtable 등 기존 컬렉션 클래스들은 이전에 작성된 프로그램들과 호환을 위해 설계를 변경해서 남겨둔 것
  • 가능하면 새로 추가된 ArrayList와 HashMap 사용 추천

'Backend > Java' 카테고리의 다른 글

LinkedList  (0) 2021.11.30
ArrayList에 DTO 객체 저장  (0) 2021.11.30
제네릭 (Generic)  (0) 2021.11.29
DTO DAO 구현 예제  (0) 2021.11.26
JDBC 연동 구현 예제  (0) 2021.11.26