오라클의 JAVA Documentation에 따르면 컬렉션 프레임워크에 구성된 인터페이스로 계층 구조의 루트 인터페이스인 Collection을 기준으로 Set, List, Queue, Deque 인터페이스를 상속하고 있다.
Java플랫폼에서는 Collection 인터페이스를 직접적으로 구현을 제공하고 있지는 않지만, 상속하고 있는 하위 인터페이스를 통해 구현을 제공하고 있다. JDK 8 이상부터는 순차와 병렬 스트림을 얻기 위해 Stream의 stream() 메서드를 제공한다.
순서를 유지하지 않고 중복된 값을 허용하지 않는 개체의 집합으로 HashSet과 TreeSet, LinkedHashSet 클래스를 상속한다.
HashSet과 LinkedHashSet 클래스는 삽입된 순서에 따라 요소를 정렬하고, TreeSet 클래스는 값에 따라 요소를 정렬한다.
순서가 유지되고 중복된 값을 허용하는 개체의 집합으로 사용자는 요소가 저장되는 위치를 제어할 수 있다. ArrayList와 LinkedList, Stack 클래스를 상속한다. 또한 순서가 보장되는 인터페이스로 index값을 통해 값을 호출 할 수 있다.
[참고자료]
https://docs.oracle.com/javase/8/docs/technotes/guides/collections/