
| 인터페이스 | 특징 |
|---|---|
| List | 순서가 있는 데이터의 집합, 데이터 중복 허용 O |
| Set | 순서가 없는 데이터의 집합, 데이터 중복 허용 X |
| Map | 키와 값의 쌍으로 이루어진 데이터의 집합, 순서 X, 키 중복 허용 X, 값 중복 허용 O |
| 메서드 | 설명 |
|---|---|
| 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[])로 반환 |

| 메서드 | 설명 |
|---|---|
| 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) | 지정된 범위에 있는 객체 반환 |


| 메서드 | 설명 |
|---|---|
| equals | 동일한 Entry인지 비교 |
| getKey | Entry의 key 객체 반환 |
| getValue | Entry의 value객체 반환 |
| hashCode | Entry의 해시코드 반환 |
| setValue | Entry의 value 객체를 지정된 객체로 바꿈 |
💡 Java는 Map을 Collection으로 보지 않는다. Collection Interface를 상속하여 구현된 클래스들은 모두 단일 데이터를 처리하지만 Map은 key/value가 쌍을 이루며 처리하기 때문에 호환성 문제가 발생할 수 있다. 이러한 이유로 Iterable Interface의 iterator()을 구현할 경우에도 문제가 발생할 수 있다.
다음 링크 참고
public interface Comparator {
int compare(Object o1, Object o2);
boolean equals(Object obj);
}
public interface Comparable {
public it compareTo(Object o);
}