Java/컬렉션 프레임워크(Collection Framework)
1. 컬렉션 프레임워크(Collection FrameWork)
mozzi329
2022. 7. 14. 18:26
728x90
📌 컬렉션 프레임워크(Collection Framework)
컬렉션이란 여러 데이터들의 집합을 의미한다. 즉, 여러 데이터들을 그룹으로 묶어놓은 것을 컬렉션이라고 하며, 이러한 컬렉션을 다루는 데에 있어 편리한 메서드들을 미리 정의해놓은 것을 컬렉션 프레임워크라고 한다.
✔️ 컬렉션 프레임워크의 구조
❗️ List
- List는 데이터의 순서가 유지되며, 중복 저장이 가능한 컬랙션을 구현하는 데 사용된다.
- ArrayList, Vector, LinkedList 등이 List 인터페이스를 구현한다.
❗️ Set
- Set은 데이터의 순서가 유지되지 않으며, 중복 저장이 불가능한 컬렉션을 구현하는 데 사용된다.
- HashSet, TreeSet 등이 Set 인터페이스를 구현한다.
❗️ Map
- Map은 키(key)와 쌍으로 데이터를 저장하는 컬렉션을 구현하는 데 사용된다.
- 데이터의 순서가 유지되지 않으며, 키는 값을 식별하기 위해 사용되므로 중복 저장이 불가능하지만, 값은 중복 저장이 가능하다.
- HashMap, HashTable, Properties 등
이 셋 중에서 List와 Set은 서로 공통점이 많아 위 그림과 같이 Collection이라는 인터페이스로 묶인다. 즉, 이 둘의 공통점이 추출되어 추상화한 것이 바로 Collection이라는 인터페이스이다.
✔️ Collection의 인터페이스
기능 | 리턴 타입 | 메소드 | 설명 |
객체 추가 | boolean | add(Object o) addAll(Collection c) |
주어진 배열에 컬렉션의 객체를 저장해서 반환 |
객체 검색 | boolean | add(Object o) addAll(Collection c) |
주어진 객체 및 컬렉션이 저장되어 있는지 여부를 리턴 |
Iterator | iterator() | 주어진 객체 및 컬렉션이 저장되어 있는지 여부를 리턴 | |
boolean | equals(Object o) | 컬렉션이 동일한지 여부를 확인 | |
boolean | isEmpty() | 컬렉션이 비어있는지 여부를 확인 | |
int | size() | 저장되어 있는 전체 객체 수를 리턴 | |
객체 삭제 | void | clear() | 컬렉션에 저장된 모든 객체를 삭제 |
boolean | remove(Object o) removeAll(Collection c) |
주어진 객체 및 컬렉션을 삭제하고 성공 여부를 리턴 | |
boolean | retainAll(Collection c) | 주어진 컬렉션을 제외한 모든 객체를 컬렉션에서 삭제하고, 컬렉션에 변화가 있는지의 여부를 리턴 | |
객체 변환 | boolean | toArray() | 컬렉션에 저장된 객체를 객체배열(Object [])로 반환 |
boolean | toArray(Object[] a) | 컬렉션에 저장된 객체를 객체배열(Object [])로 반환 |