Collections — 컬렉션 조작 유틸리티 클래스
Collections — 컬렉션 조작 유틸리티 클래스
컬렉션에 대해 연산하거나 컬렉션을 반환하는 정적 메서드만으로 구성된 클래스예요.
본문
시그니처
public class Collections extends Object
설명
이 클래스는 컬렉션에 대해 연산하거나 컬렉션을 반환하는 정적 메서드만으로 구성돼요. 컬렉션에 대해 연산하는 다형적(polymorphic) 알고리즘, 지정한 컬렉션이 지원하는 새 컬렉션을 반환하는 "래퍼(wrappers)", 그리고 몇 가지 기타 기능이 포함돼요.
이 클래스의 메서드는 제공된 컬렉션이나 클래스 객체가 null이면 모두 NullPointerException을 던져요.
이 클래스에 포함된 다형적 알고리즘의 문서는 일반적으로 구현에 대한 간략한 설명을 포함해요. 그런 설명은 사양의 일부가 아니라 구현 노트로 간주해야 해요. 사양 자체를 지키는 한 다른 알고리즘으로 대체해도 좋아요. (예: sort가 사용하는 알고리즘은 mergesort일 필요는 없지만 안정적이어야 해요.)
이 클래스가 포함하는 "파괴적(destructive)" 알고리즘, 즉 연산 대상 컬렉션을 수정하는 알고리즘은 컬렉션이 set 메서드 같은 적절한 수정 기본 연산을 지원하지 않으면 UnsupportedOperationException을 던지도록 지정돼요. 이 알고리즘들은 호출이 컬렉션에 아무 효과가 없으면 이 예외를 던질 수도 있고 안 던질 수도 있어요.
이 클래스는 Java Collections Framework의 구성원이에요.
주요 메서드
sort(List<T> list)— 지정한 리스트를 자연 순서에 따라 오름차순으로 정렬해요.sort(List<T> list, Comparator<? super T> c)— 지정한 비교자에 따라 지정한 리스트를 정렬해요.reverse(List<?> list)— 지정한 리스트에서 요소의 순서를 뒤집어요.shuffle(List<?> list)— 기본 난수 소스를 사용해 지정한 리스트의 요소 순서를 무작위로 섞어요.binarySearch(List<? extends Comparable<? super T>> list, T key)— 이진 검색 알고리즘을 사용해 지정한 리스트에서 지정한 객체를 검색해요.min(Collection<? extends T> coll)— 컬렉션의 최소 요소를 반환해요.max(Collection<? extends T> coll)— 컬렉션의 최대 요소를 반환해요.addAll(Collection<? super T> c, T... elements)— 지정한 모든 요소를 지정한 컬렉션에 추가해요.unmodifiableList(List<? extends T> list)— 지정한 리스트의 수정 불가능한 뷰를 반환해요.synchronizedList(List<T> list)— 지정한 리스트가 지원하는 동기화(스레드 안전) 리스트를 반환해요.emptyList()— 빈 불변 리스트를 반환해요.singleton(T o)— 지정한 객체만 포함하는 불변 set을 반환해요.