✔️ Collection Framework
1. 핵심 인터페이스와 특징
인터페이스 | 특징 |
---|
List | 순서가 있는 데이터의 집합, 데이터 중복 허용 O |
Set | 순서가 없는 데이터의 집합, 데이터 중복 허용 X |
Map | 키와 값의 쌍으로 이루어진 데이터의 집합, 순서 X, 키 중복 허용 X, 값 중복 허용 O |
2. Collection 인터페이스
메서드 | 설명 |
---|
boolean add(Object o), boolean addAll(Collection c) | 지정된 객체 또는 Collection의 객체들을 Collection에 추가 |
void clear | Collection의 모든 객체 삭제 |
contains, containsAll | 지정된 객체 또는 Collection의 객체들이 Collection에 포함되어 있는지 확인 |
equals | 동일한 Collection인지 비교 |
hashCode | Collection의 hash code 반환 |
isEmpty | Collection이 비어있는지 확인 |
iterator | Collection의 iterator를 얻어서 반환 |
remove, removeAll | 지정된 객체 또는 Collection에 포함된 객체들 삭제 |
retainAll | 지정된 Collection에 포함된 객체만 남기고 다른 객체들은 Collection에서 삭제 |
size | 저장된 객체의 개수 반환 |
toArray | 저장된 객체를 객체 배열(Object[])로 반환 |
3. List 인터페이스
메서드 | 설명 |
---|
void add(int index, Object element) boolean addAll(int index, Collection c) | 지정된 위치에 객체 또는 컬렉션에 포함된 객체들 추가 |
get | 지정된 위치에 있는 객체 반환 |
indexOf | 객체의 위치 반환(List의 첫 번째 요소부터 순방향으로) |
lastIndexOf | 객체의 위치 반환(List의 마지막 요소부터 역방향으로) |
listIterator | List의 객체에 접근할 수 있는 ListIterator 반환 |
remove | 지정된 위치에 있는 객체 삭제 및 삭제된 객체 반환 |
Object set(int index, Object element) | 지정된 위치에 객체 저장 |
void sort(Comparator) | 지정된 비교자(comparator)로 List 정렬 |
List subList(int fromIndex, int toIndex) | 지정된 범위에 있는 객체 반환 |
4. Set 인터페이스
4. Map 인터페이스
4-1 Map.Entry 인터페이스
- Map에 저장되는 key-value 쌍을 다루기 위해서 Map 인터페이스의 내부 인터페이스로 인터페이스 안에 인터페이스 정의
메서드 | 설명 |
---|
equals | 동일한 Entry인지 비교 |
getKey | Entry의 key 객체 반환 |
getValue | Entry의 value객체 반환 |
hashCode | Entry의 해시코드 반환 |
setValue | Entry의 value 객체를 지정된 객체로 바꿈 |
💡 Java는 Map을 Collection으로 보지 않는다. Collection Interface를 상속하여 구현된 클래스들은 모두 단일 데이터를 처리하지만 Map은 key/value가 쌍을 이루며 처리하기 때문에 호환성 문제가 발생할 수 있다. 이러한 이유로 Iterable Interface의 iterator()을 구현할 경우에도 문제가 발생할 수 있다.
다음 링크 참고
✔️ Comparator와 Comparable
- 인퍼페이스로 컬렉션을 정렬하는 데 필요한 메서드를 정의하고 있음
public interface Comparator {
int compare(Object o1, Object o2);
boolean equals(Object obj);
}
public interface Comparable {
public it compareTo(Object o);
}
1. Comparator
- 기본 정렬기준 외에 다른 기준으로 정렬하고자 할 때 사용
2. Comparable