ch11 - 1 컬렉션 프레임워크 (collections framework)
> 컬렉션 (collection)
- 여러 객체 (데이터) 를 모아 놓은 것을 의미.
> 프레임워크 (framework)
- 표준화, 정형화된 체계적인 프로그래밍 방식.
프레임워크는 라이브러리 + 프로그래밍 방식을 강제 한다.
즉, 기능뿐만 아니라, 프로그래밍의 방식까지 제안 한다.
자유도가 떨어진다고 볼 수도 있지만,
중요한점은, 정해진대로만 하면 되니까, 프로그래밍의 생산성이 증가 하고, 유지보수가 용이해 진다.
> 컬렉션 프레임워크 (collections framework)
- 컬렉션 (다수의 객체) 을 다루기 위한 표준화된 프로그래밍 방식.
객체를 저장, 삭제, 검색, 정렬, .. 하는것을 "객체를 다룬다" 라고 한다.
즉, 여러 객체 (데이터) 를 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공 한다.
- java.util 패키지에 포함되고, JDK 1.2 부터 제공 됬다.
> 컬렉션 클래스 (collection class)
- 다수의 데이터를 저장할 수 있는 클래스 (Vector, ArrayList, HashSet, ..)
ch11 - 2 컬렉션 프레임워크의 핵심 인터페이스
1) List
2) Set
3) Map
List :
순서가 있는 데이터의 집합. 데이터의 중복을 허용 한다.
예) 대기자 명단
구현 클래스 : ArrayList, LinkedList, Stack, Vector, ..
Set :
순서를 유지 하지 않는 데이터의 집합. 데이터의 중복을 허용 하지 않는다.
예) 양의 정수 집합, 소수의집합, ..
동물 집합을 예시로 들면, 다음과 같다.
개, 고양이, 사자, 코끼리, 호랑이, ..
근데 여기서 개를 또 집어 넣는다 ?
의미가 없다.
그래서 데이터의 중복을 허용 하지 않으며,
동물 집합 이기 때문에, 집합 내부에 동물 데이터만 존재 하면 된다.
굳이 순서가 상관 없기 때문 이다.
그래서 집합의 데이터는 순서가 없다.
구현 클래스 : HashSet, TreeSet, ..
Map :
키와 값의 쌍으로 이루어진 데이터의 집합.
순서는 유지되지 않고, 키는 중복을 허용 하지 않고, 값은 중복을 허용 한다.
예) 우편번호, 지역번호, 전화번호, 아이디 / 패스워드, ..
02) 서울
031) 경기
..
구현 클래스 : HashMap, TreeMap, Hashtable, Properties, ..
[ 참고 ]
구현 클래스의 뒷단어를 보면 해당 클래스가 어떤 인터페이스를 구현 받은 클래스인지를 알 수 있다.
Stack, Vector, Hashtable, Properties, ..등은
컬렉션 프레임워크가 표준화 되기 이전의 클래스들 이라서 이름이 제각각 이다.
'Java의 정석 > 컬렉션 프레임워크' 카테고리의 다른 글
ArrayList와 Java API 확인 (0) | 2023.09.17 |
---|---|
Collection, List, Set, Map (0) | 2023.09.17 |
Map (링크드 해시맵) 예제 02 (0) | 2023.08.26 |
Map (해시맵) 예제 01 (0) | 2023.07.30 |
HashMap (해시맵) (0) | 2023.07.30 |