일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- sorting
- Math
- bit manipulation
- java
- string
- Tree
- Data Structure
- Method
- geometry
- SQL
- 파이썬
- 코테
- Counting
- simulation
- Matrix
- Class
- hash table
- database
- 자바
- 코딩테스트
- Binary Search
- two pointers
- Stack
- greedy
- Binary Tree
- dynamic programming
- Number Theory
- array
- 구현
- implement
- Today
- Total
코린이의 소소한 공부노트
컬렉션 프레임워크 본문
[용어 정리]
1. 컬렉션
- 여러 객체(데이터)를 모아 놓은 것
2. 프레임워크
- 표준화, 정형화된 체계적인 프로그래밍 방식
- 라이브러리, 자바API 등이 제공하는 기능 + 정해진 프로그래밍 방식
- 정해져 있기 때문에 유연성은 떨어지나, 정해진 대로만 하면 되기 때문에 생산성이 올라간다.
- 표준화가 되어있기 때문에 누가 봐도 이해할 수 있다.
3. 컬렉션 프레임워크
- 컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식
- 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스 제공
- 객체를 다룬다는 것은 데이터를 저장, 검색, 삭제, 정렬 등을 할 수 있다는 것이다.
- java.util 패키지에 있다.
4. 컬렉션 클래스
- 다수의 데이터를 저장할 수 있는 클래스
- 예) Vector, ArrayList, HashSet
[컬렉션 프레임워크의 핵심 인터페이스]
1. List
- 순서가 있는 데이터의 집합
- 데이터의 중복 허용
- 구현 클래스: ArrayList, LinkedList, Stack, Vector 등
2. Set
- 순서가 상관없는 데이터의 집합
- 데이터의 중복 허용X
- 구현 클래스: HashSet, TreeSet 등
3. Map
- 키(key)와 값(value)의 쌍(pair)으로 이루어진 데이터의 집합
- 순서는 상관없음
- 키는 중복 허용X
- 값은 중복 허용
- 구현 클래스: HashMap, TreeMap, Hashtable, Properties 등
[Collection 인터페이스]
1. List와 Set의 공통부분을 모아서 만든 인터페이스
2. 메서드
boolean add(Object o)
boolean addAll(Collection c)
// 지정된 객체(o) 또는 Collection(c)의 객체들을 Collection에 추가한다.
void clear()
// Collection의 모든 객체를 삭제한다.
boolean contains(Object o)
boolean containsAll(Collection c)
// 지정된 객체(o) 또는 Collection(c)의 객체들이 Collection에 포함되어 있는지 확인한다.
boolean equals(Object o)
// 동일한 Collection인지 비교한다.
int hashCode()
// Collection의 hash code를 반환한다.
boolean inEmpty()
// Collection이 비어있는지 확인한다.
Iterator iterator()
// Collection의 Iterator를 얻어서 반환한다.
boolean remove(Object o)
boolean removeAll(Collection c)
// 지정된 객체(o) 또는 Collection(c)의 객체들을 Collection에서 삭제한다.
boolean retainAll(Collection c)
// 지정된 Collection에 포함된 객체만을 남기고 다른 객체들은 Collection에서 삭제한다.
// 이 작업으로 인해 Collection에 변화가 있으면 true, 그렇지 않으면 false를 반환한다.
int size()
// Collection에 저장된 객체의 수를 반환한다.
Object[] toArray()
// Collection에 저장된 객체를 객체배열로 반환한다.
Object[] toArray(Object[] a)
// 지정된 배열(a)에 Collection의 객체를 저장해서 반환한다.
[List 인터페이스]
1. 저장 순서 유지(순서가 있음)
2. 데이터 중복 가능
3. 메서드(Collection의 메서드는 제외)
void add(int index, Object element)
boolean addAll(int index, Collection c)
// 지정된 위치(index)에 객체(element) 또는 컬렉션(c)에 포함된 객체들을 추가한다.
Object get(int index)
// 지정된 위치에 있는 객체를 반환한다.
int indexOf(Object o)
// 지정된 객체(o)의 위치를 반환한다.(List의 첫번째 요소부터 순방향으로 탐색한다.)
int lastIndexOf(Object o)
// 지정된 객체(o)의 위치를 반환한다.(List의 마지막 요소부터 역방향으로 탐색한다.)
ListIterator listIterator()
ListIterator listIterator(int index)
// List의 객체에 접근할 수 있는 ListIterator를 반환한다.
Object remove(int index)
// 지정된 위치에 있는 객체를 삭제하고 삭제된 객체를 반환한다.
Object set(int index, Object element)
// 지정된 위치에 객체를 저장한다.
void sort(Comparator c)
// 지정된 비교자(c)로 List를 정렬한다.
List subList(int fromIndex, int toIndex)
// 지정된 범위에 있는 객체를 반환한다.
// 마지막 인덱스는 미포함
[Set 인터페이스]
1. 저장 순서 유지X(순서가 없음)
2. 데이터 중복 불가
3. 메서드: Collection의 메서드와 동일. 그중에서 집합에 관련된 것만 다시 본다면 다음과 같다.
- 합집합: boolean addAll(Collection c)
- 부분집합: boolean containsAll(Collection c)
- 차집합: boolean removeAll(Collection c)
- 교집합: boolean retainAll(Collection c)
- 메서드 실행 후 Collection에 변화가 있다면 true, 없다면 false 반환
[Map 인터페이스]
1. 저장 순서 유지X(순서가 없음)
2. 키는 중복 불가, 값은 중복 허용
3. 메서드
void clear()
// Collection의 모든 객체를 삭제한다.
boolean containsKey(Object key)
boolean containsValue(Object value)
// 지정된 객체와 일치하는 것이 Map에 있는지 확인한다.
Set entrySet()
// Map에 저장되어있는 key-value쌍을 Map.Entry(key-value쌍)타입의 객체로 저장한 Set으로 반환한다.
boolean equals(Object o)
// 동일한 Map인지 비교한다.
Object get(Object key)
// 지정된 key객체에 대응하는 value객체를 반환한다.
int hashCode()
// Map의 hash code를 반환한다.
boolean inEmpty()
// Map이 비어있는지 확인한다.
Set keySet()
// Map에 저장된 모든 key객체를 반환한다.
Object put(Object key, Object value)
// Map에 value객체를 key객체에 연결(mapping)하여 저장한다.
void putAll(Map t)
// 지정된 Map의 모든 key-value쌍을 추가한다.
Object remove(Object key)
// 지정된 key객체와 일치하는 key-value객체를 삭제한다.
int size()
// Map에 저장된 key-value쌍의 수를 반환한다.
Collection values()
// Map에 저장된 모든 value객체를 반환한다.
[쿠키글] Collections?
위에 설명한 Collection은 인터페이스이고, Collections는 Collection과 관련된 유틸 클래스이다. sort 등의 메서드를 제공한다.
'Java' 카테고리의 다른 글
LinkedList 클래스 (0) | 2022.11.02 |
---|---|
ArrayList 클래스 (0) | 2022.10.27 |
형식화 클래스 (0) | 2022.10.21 |
캘린더 클래스 (0) | 2022.10.12 |
문자열의 여러 가지 변환, 오토박싱, 언박싱 (0) | 2022.10.11 |