[Collection FrameWork] Collection, List, Iterator (Methods)
by mignon25Collection Framework란?
특정 자료 구조에 데이터 추가, 삭제, 수정, 검색 등의 동작을 수행하는 편리한 메서드들을 제공해준다.
- 컬렉션 : 데이터들의 집합을 의미.
- 컬렉션 프레임워크 : 컬렉션을 다루는 데에 있어 편리한 메서드들을 미리 정의해놓은 것
Collection Framework의 핵심 인터페이스

- List
- 순서가 있는 데이터의 집합.
- 데이터의 중복 허용
- 구현 클래스 : ArrayList, LinkedList, Stack, Vector 등
- Set
- 순서를 유지하지 않는 데이터의 집합.
- 데이터의 중복을 허용하지 않는다.
- 구현 클래스 : HashSet, TreeSet 등
- Map
- 키(key)와 값(value)의 쌍으로 이루어진 데이터의 집합
- 순서는 유지되지 않으며, 키는 중복을 허용하지 않고, 값은 중복을 허용한다.
- 구현 클래스 : HashMap, TreeMap, HashTable, Properties 등
Collection 인터페이스 메서드
| 기능 | 리턴 타입 | 메서드(매개변수) | 설명 |
| 추가 | boolean | add(Object o) addAll(Collection c) |
주어진 객체(o) 또는 Collection(c)의 객체들을 Collection에 추가한다. |
| 검색 | boolean | contains(Object o) containsAll(Collection c) |
주어진 객체 및 컬렉션이 포함되어 있는지 여부를 리턴 |
| Iterator | iterator() | 컬렉션의 iterator를 리턴 | |
| boolean | equals(Object o) | 동일한 컬렉션인지 비교 | |
| boolean | isEmpty() | 컬렉션이 비어있는지 확인 | |
| int | size() | 저장되어 있는 전체 객체 수 리턴 | |
| 삭제 | void | clear() | 컬렉션에 저장된 모든 객체 삭제 |
| boolean | remove(Object o) removeAll(Collection c) |
주어진 객체 및 컬렉션을 삭제하고 성공 여부 리턴 | |
| boolean | retainAll(Collection c) | 주어진 컬렉션(c)을 제외한 모든 객체를 컬렉션에서 삭제하고 컬렉션에 변화가 있는지 여부를 리턴 | |
| 변환 | Object[] | toArray() | 컬렉션에 저장된 객체를 객체배열(Object[])로 반환 |
| Object[] | toArray(Object[] a) | 지정된 배열에 Collection의 객체를 저장해서 반환 |
List 인터페이스 메서드
(Collection 인터페이스로부터 상속받은 것 제외)
| 기능 | 리턴 타입 | 메서드(매개변수) | 설명 |
| 추가 | void | add(int index, Object o) | 주어진 인덱스에 객체를 추가 |
| boolean | addAll(int index, Collection c) | 주어진 인덱스에 컬렉션을 추가 | |
| 추가? 수정? |
Object | set(int index, Object o) | 지정된 위치(index)에 객체(o)를 저장한다. |
| 검색 | Object | get(int index) | 주어진 인덱스에 저장된 객체를 반환 |
| int | indexOf(Object o) lastIndexOf(Object o) |
순방향 / 역방향 으로 탐색하여 주어진 객체의 위치를 반환 | |
| ListIterator | listIterator() listIterator(int index) |
List의 객체를 탐색할 수 있는 ListIterator 반환 / 주어진 index 부터 탐색할 수 있는 ListIterator 반환 | |
| List | subList(int from, int to) | 지정된 범위(from 부터 to 전까지)에 있는 객체를 반환한다. (from, to는 인덱스) |
|
| 삭제 | Object | remove(int index) | 주어진 인덱스에 저장된 객체를 삭제하고 삭제된 객체를 반환 |
| 정렬 | void | sort(Comparator c) | 주어진 비교자(comparator)로 List를 정렬 |
Iterator
컬렉션에 저장된 요소들을 순차적으로 읽어오는 역할
Collection 인스턴스에 정의된 iterator()를 호출하면, iterator 타입의 인스턴스가 반환된다.
| 메서드 | 설명 |
| hasNext() | 읽어올 객체가 남아 있으면 true 리턴, 없으면 false 리턴 |
| next() | 컬렉션에서 하나의 객체를 읽어온다. 이 때, next()를 호출하기 전에 hasNext()를 통해 읽어올 다음 요소가 있는지 먼저 확인해야 한다. |
| remove() | next()를 통해 읽어온 객체를 삭제한다. next()를 호출한 다음에 remove()를 호출해야 한다. |
'Java' 카테고리의 다른 글
| 메타 애너테이션(meta-annotation) (0) | 2023.03.08 |
|---|---|
| [Collection FrameWork] ArrayList, LinkedList (0) | 2023.03.08 |
| [Collection Framework] Map<K, V> (0) | 2023.03.06 |
| 열거형 (Enum) (0) | 2023.03.06 |
| DI(Dependency Injection) 맛보기 (0) | 2023.03.03 |
블로그의 정보
Mignon'S Dev Log
mignon25