컬렉션
- 사전적 의미로 요소(객체)를 수집해 저장한 것
프레임워크 = 라이브러리(기능) + 프로그래밍 방식
- 표준화, 정형화된 체계적인 프로그래밍 방식
- 미리 정해진 방식대로 프로그램을 작성
- 누가 작성하든 프로그램이 표준화되기 때문에 프로그램 유지보수하기 쉬워짐
컬렉션 프레임워크(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 |