국비교육과정 정리/Java

[Java] Collections Framework(컬렉션 프레임웍)

백설마을꿀단지 2022. 12. 13.

1. Collection FrameWork

- Collection : 다수의 데이터, 그룹화된 데이터를 의미
- FrameWork : 표준화된 프로그래밍 방식, 구조

Collection + FrameWork = Collection FrameWork : 다수의 데이터를 다루는 클래스들을 표준화한 설계방식

2. Collection FrameWork의 인터페이스

Collection을 크게 세 가지 타입으로 나뉘는데

[Java] Collections Framework(컬렉션 프레임웍) - undefined - 2. Collection FrameWork의 인터페이스
컬렉션 프레임웍의 상속계층도

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

댓글