▶ 들어가기 전에..
컬렉션의 대부분의 내용은 자바의 정석 강의을 보고 공부하고 있습니다. 영상 내용 중 중요한 것을 작성했으나 제가 쓴 부분이 오류가 있을 수 있으니 오류가 있으면 댓글 부탁드립니다. |
1. 컬렉션 프레임웍(Collection Framework)의 이해
https://www.youtube.com/watch?v=z9GpUGoYCw4
■ 용어
▶ 컬렉션 (모아놨다)
▶ 프레임웍(정형화된 틀) : 라이브러리 + 프로그래밍 방식
*라이브러리 : 다른 사람이 이미 만들어 놓은 걸 모아논 곳(라이브러리=도서관). 기능만 제공한다(ex. JavaAPI)
▶ 컬렉션 프레임웍 : 다수의 객체를 다루기 위한 표준화된 프로그래밍 방식
*객체 = 데이터
- java.util 패키지에 포함. (JDK2.0부터)
▶ 컬렉션 클래스
■ 컬렉션 프레임웍의 핵심 인터페이스
공통 | 인터페이스 | 순서 | 중복 | 예 |
Collection | List | O | O | 대기자 명단(1.홍길동/2.김길동...) |
Set(집합) | X | X | 네 발 동물 집합, 양의 정수 집합 | |
- | Map | X | 키X, 값O | 우편변호, 지역변호(전화번호), 아이디/패스워드 |
2. Collection인터페이스의 메소드
https://www.youtube.com/watch?v=RscGmop2Bzo
■ Collection 인터페이스 _ 검색/추가/삭제/기타
메소드 | 설명 | |
검색 | boolean contains(Object o) boolean containsAll(Collection c) |
지정된 객체가 있는지 확인 지정된 컬렉션의 객체들이 있는지 확인 |
추가 | boolean add(Object o) boolean addAll(Collection c) |
지정된 객체 추가 지정된 컬렉션의 객체들을 추가 |
삭제 | boolean remove(Object o) boolean removeAll(Collection c) boolean retainAll(Collection c) void clear() |
지정된 객체 삭제 지정된 컬렉션에 포함된 객체들을 삭제 지정된 컬렉션 외의 객체를 삭제 컬렉션의 모든 객체 삭제 |
기타 | int size() boolean isEmpty() Iterator iterator() Object[] toArray() Object[] toArray(Object[] a) |
컬렉션에 저장된 객체의 갯수를 반환 컬렉션이 비어있는지 확인 컬렉션의 iterator를 얻어서 반환 컬렉션에 저장된 객체를 Object타입 객체배열로 반환 컬렉션에 저장된 객체를 저장해서 반환 |
■ List 인터페이스(순서O/중복O) _ 검색/추가/삭제/읽기/변경/추출/정렬
메소드 | 설명 | |
검색 | int indexOf(Object o) int lastIndexOf(Object o) |
지정된 객체의 위치를 첫번째부터 찾아 반환 지정된 객체의 위치를 마지막부터 찾아 반환 |
추가 | void add(int index, Object element) boolean addAll(int index, Collection c) |
지정된 위치에 객체를 추가 지정된 위치에 컬렉션에 있는 객체를 추가 |
삭제 | Object remove(int index) | 지정된 위치의 객체 삭제 |
읽기 | Object get(int index) | 지정된 위치에 있는 객체를 반환 |
변경 | Object set(int index, Object element) | 지정된 위치에 객체를 저장 |
추출 | List subList(int fromIndex, int toIndex) | 지정된 범위부터의 객체를 List로 반환 |
정렬 | void sort(Comparator c) | 지정된 비교자로 List를 정렬 |
■ Set 인터페이스(순서X/중복X)_메소드는 컬렉션과 동일+집합 관련 메소드
- addAll(Collection c) : boolean [합집합]
- containsAll(Collection c) : boolean [부분집합]
- removeAll() [차집합]
- retainAll() [교집합]
■ Map 인터페이스(순서X/중복-키X,값O)
메소드 | 설명 | |
검색 | boolean containsKey(Object key) boolean containsValue(Object value) Object get(Object key) |
key가 있는지 확인 value가 있는지 확인 key를 가진 객체 반환 |
추가 | Object put(Object key, Object value) void putAll(Map t) |
Map에 value객체를 key객체에 맵핑해서 저장 Map에 모든 key-value쌍 추가 |
삭제 | Object remove(Object key) | key를 가진 key-value삭제 |
읽기 | Set keySet() Set entrySet() Collection values() |
모든 key객체 반환 모든 key-value쌍을 Map.Entry형식으로 하여 Set로 반환 모든 value객체 반환 |
'Computer Science > Algorithm' 카테고리의 다른 글
[자료구조] 스택 (0) | 2022.04.18 |
---|---|
[검색] 선형탐색과 이진탐색 (0) | 2022.04.12 |
[자바의 정석] 스택과 큐 (0) | 2022.03.30 |
[자바의 정석] ArrayList/LinkedList (0) | 2022.03.29 |
[정렬] 버블정렬,선택정렬,삽입정렬, 셸 정렬 (0) | 2022.03.19 |