1. Collection FrameWork
- Collection : 다수의 데이터, 그룹화된 데이터를 의미
- FrameWork : 표준화된 프로그래밍 방식, 구조
Collection + FrameWork = Collection FrameWork : 다수의 데이터를 다루는 클래스들을 표준화한 설계방식
2. Collection FrameWork의 인터페이스
Collection을 크게 세 가지 타입으로 나뉘는데
![[Java] Collections Framework(컬렉션 프레임웍) - undefined - 2. Collection FrameWork의 인터페이스 [Java] Collections Framework(컬렉션 프레임웍) - undefined - 2. Collection FrameWork의 인터페이스](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
Collection 인터페이스는 List와 Set은 서로 많은 공통된 부분들이 있어 이들을 뽑아 만들어진 것이다.
그러나 Map 은 두 List, Set과 다른 방식으로 데이터를 저장하기 때문에 Collection에 포함되지 않는다.
🔈 컬렉션 프레임웍의 모든 컬렉션 클래스들은 List, Set, Map 중 하나를 구현하고 있으며 , 구현한 인터페이스의
이름이 클래스의 이름에 포함되어있어 이름만으로 클래스의 특징을 쉽게 알 수 있다.
1) List :저장 순서가 있는 데이터의 집합으로 데이터의 중복을 허용한다. (순서O, 중복O)
2) Set : 저장 순서가 없는 데이터의 집합이며 데이터의 중복도 허용하지 않는다. (순서X, 중복X)
3) Map : key(키)와 value(값)의 쌍으로 이루어진 데이터의 집합으로 저장 순서는 없으며 key(키)는 중복을 허용하지 않지만 value(값)은 중복을 허용한다.
3. Methods(메서드)
3-1. Collection 메서드
Collection 인터페이스는 데이터를 읽고, 추가하고, 삭제하는 콜렉션의 기본적인 메서드를 정의하고 있다.
메서드 | 설 명 |
boolean add(Object o) boolean addAll(Collection c) |
지정된 객체 or Collection 객체들을 Collection에 추가한다. |
void clear() | Collection의 모든 객체를 삭제한다. |
boolean contains(Object o) boolean containsAll (Collection c) |
지정된 객체 or Collection 객체들이 Collection에 포함되어있는지 확인한다. |
boolean remove(Object o) boolean removeAll(Collection c) |
지정된 객체 or Collection 객체들을 Collection에서 삭제한다. |
boolean retainAll(Collection c) | 지정된 Collection에 포함된 객체만을 남기고 다른 객체들을 Collection에서 삭제 변화가 있으면 true, 없으면 false 반환 |
int size() | Collection 에 저장된 객체의 개수를 반환 |
Object[] toArray() | 저장된 객체를 객체배열로 반환 |
boolean isEmpty | Collection이 비었는지 확인한다. |
3-2. List 메서드
List는 중복을 허용하고 저장순서를 유지하고자 할 때 사용되는 컬렉션이다.
메서드 | 설 명 |
void add(int index, Obeject element) boolean addAll(int index, Colllection c) |
지정된 위치에 객체 or 컬렉션에 포함된 객체들을 추가한다. |
Object get(int index) | 지정된 위치에 있는 객체를 반환 |
Object set(int index) | 지정된 위치에 객체를 저장한다. |
Object remove(int index) | 지정된 위치에 있는 객체를 삭제 후 삭제된 객체 반환 |
int indexOf(Object o) | 주어진 객체의 위치를 반환 |
int lastIndexOf(Object o) | 주어진 객체의 위치(역방향으로 검색)를 반환 |
void set(Comparator c ) | 지정된 비교자로 List를 정렬한다. |
List subList(int fromIndex, int toIndex) | 주어진 범위(from ~ to)에 있는 객체를 List로 반환 |
3-3. Set 메서드
Set은 중복을 허용하지 않고 저장순서도 유지할 필요없을 경우 사용되는 컬렉션 (수학에서 집합이랑 비슷한 개념)
Set 인터페이스의 메서드는 Collection 인터페이스와 동일하므로 Collection 메서드를 확인하면 된다.
3-4. Map 메서드
Map 인터페이스는 key(키)와 value(값)을 하나의 쌍으로 묶어서 저장되며, 저장순서가 유지되지 않고 키를 제외한 값만 중복을 허용한다. (중복된 키 저장 시 기존 키를 덮어씌움)
메서드 | 설 명 |
Object put(Object key, Object value) | Map에 value 객체를 key 객체에 연결하여 저장 |
void putAll(Map t) | 주어진 Map 의 모든 key-value 쌍을 추가한다. |
Object remove(Object key) | 지정된 key와 일치하는 key-value 쌍을 삭제한다. |
void clear() | Map에 있는 모든 객체를 삭제 |
Object get(Obejct key) | 지정한 key객체에 대응하는 value 값을 찾아 반환 |
Set entrySet() | Map에 저장되어 있는 key-value쌍을 Set으로 반환 |
Set keySet() | Map에 저장된 모든 key객체를 반환 |
Collection values() | Map에 저장된 모든 value객체를 반환 |
int size() | Map에 저장된 key-value 쌍 개수를 반환 |
boolean isEmpty() | Map이 비었는지 확인 |
boolean contaionsKey(Obejct key) | 주어진 객체와 일치하는 key객체가 있는지 확인 |
boolean containsValues(Object value) | 주어진 객체와 일치하는 value객체가 있는지 확인 |
cf) Map Entry 인터페이스 : key- value 쌍을 다루기 위한 내부 인터페이스이다. 그러므로 Map 인터페이스를 구현하는 클래스는 Map Entry 인터페이스도 함께 구현해주어야 한다.
'국비교육과정 정리 > Java' 카테고리의 다른 글
[Java] Stack & Queue (1) | 2022.12.18 |
---|---|
[Java] List (ArrayList, LinkedList) (0) | 2022.12.17 |
[JSP] Filter (필터) (0) | 2022.12.07 |
Servlet (서블릿) (0) | 2022.12.07 |
[JSP 실습]회원 정보 수정, 회원 탈퇴 (0) | 2022.12.06 |
댓글