Collection Framework
정의:
Collection: 여러 객체(데이터)를 모아 놓은 것을 의미
Framework: 표준화, 정형화된 체계적인 프로그래밍 방식
- 개인의 코딩 방식이 아닌 기준을 정한 코딩으로 다른 사람이 이해하고 수정하기 편하게 하기 위한 정형화
- 대표적인 예시로 Spring Framework가 있음
Collection Framework: 컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식
- 컬렉션(다수의 데이터)을 다룰 수 있는 다양한 클래스를 제공
핵심 인터페이스(interface) 메서드:
데이터를 정리하기 위한 핵심 인터페이스: List, Set, Map
List: 순서가 있는 데이터의 집합이고 중복을 허용한다
- 대표적인 예로 식당의 웨이팅 리스트, 누가 먼저 왔는지 중요하지만 이름의 중복은 관련이 없다.
Set: 순서를 유지하지 않는 데이터의 집합이고 중복이 안된다
- 대표적인 예는 동물원의 동물 리스트, 어떤 종류가 몇마리 있는지 중요하지만 중복의 이름값은 허용하지 않는다.
Map: Key와 값(value)의 pair(짝)으로 이루어진 데이터의 집합이다. Key의 중복은 안되지만 값의 중복은 가능
- 파이썬의 Dictionary 개념! 예시로 ID/PW가 있는데 ID는 중복이 안되지만 PW는 중복이 가능하다.
Collection 핵심 인터페이스 메서드
기본적으로 추가/삭제/검색으로 구성되있다.
Set & List 핵심 인터페이스 메서드
List와 Set은 Collection의 자손 클래스이기 때문에 Collection 클래스가 가지고 있는 메서드를 포함하여 가지고 있고 추가로 다른 메서드를 더 가지고 있다.
List와 Set을 통해 입력받은 데이터를 Collection 클래스에 저장받고 List, Set의 메서드로 정렬, 검색 등의 추가적인 옵션을 구현한다.
Collection에 데이터를 추가하거나 삭제할 때 사용되는 메서드들
이때 결과값을 boolean으로 출력한다.
Map
순서가 상관이 없고 키 값의 중복을 허용하지 않지만 값(value)의 중복을 허용하는 클래스 (파이썬의 Dictionary)
Map의 인터페이스
여러 자손 클래스들이 아래와 같이 존재한다. 중요한 클래스는 HashMap과 TreeMap
HashMap < LinkedHashMap
- Map이 순서를 상관하지 않는다면 LinkedHashMap같은 경우 순서를 고려할 수 있는 인터페이스
SortedMap < TreeMap
인터페이스의 종류
'Java > 자바의정석 기초편' 카테고리의 다른 글
자바의 정석 11장 (28일차) - Stack&Queue (0) | 2022.02.19 |
---|---|
자바의 정석 11장 (28일차) - LinkedList (0) | 2022.02.19 |
자바의 정석 10장 (26일차) - 형식화 클래스 (SimpleDateFormat, DecimalFormat) (0) | 2022.02.17 |
자바의 정석 10장 (26일차) - Calendar 클래스 (0) | 2022.02.17 |
자바의 정석 9장 (25일차) - StringBuilder & Math (0) | 2022.02.16 |