- 컬렉션 프레임워크(Collection Framework) 란?
- 여러 자료구조를 구현해 놓은 표준화된 클래스와 인터페이스의 집합
- 자바 프로그램에서 데이터를 다르기 쉽게 하기 위해 설계된 API이며, 다양한 자료구조를 구현하는 표준화된 방법을 제공
<컬렉션 프레임워크 계층>
출처 : https://www.geeksforgeeks.org/how-to-learn-java-collections-a-complete-guide/


※자료구조와 컬렉션 프레임워크의 차이점※
- 자료구조는 데이터를 저장하고 처리하는 이론적 개념이며, 여러 가지 형태로 존재
- 컬렉션 프레임워크는 자바에서 자료구조를 구현한 라이브러리로, 다양한 자료 구조를 편리하게 사용할 수 있게 해주는 표준 API
- 즉, 자료구조는 컴퓨터 과학의 일반적인 개념이고, 컬렉션 프레임워크는 자바에서 이 개념을 구체화한 도구라고 볼 수 있다!
- 주요 구성 요소
- 인터페이스(Interface) : 데이터 구조를 정의하는 기분 틀 ( ex)
List, Set, Map )
- 구현 클래스 (Classes) : 인터페이스를 구현한 구체적인 클래스 ( ex)
ArrayList,HashSet, HashMap)
- 알고리즘(Algorithms) : 컬렉션에 대한 정렬, 검색, 변환 등의 연산을 수행하는 메서드들
- 주요 인터페이스와 클래스
- List 인터페이스 : 순서가 있는 데이터를 저장 ( ex)
ArrayList, LinkedList)
- Set 인터페이스 : 중복을 허용하지 않는 데이터를 저장 ( ex)
HashSet, TreeSet)
- Map 인터페이스 : 키와 값의 쌍으로 데이터를 저장 ( ex)
HashMap, TreeMap)
이 중에서 List 와 Set 인터페이스 모두 Collection 인터페이스를 상속받지만, 구조상의 차이로 인해 Map 인터페이스는 별도로 정의된다.
따라서 List 인터페이스와 Set 인터페이스의 공통된 부분을 Collection 인터페이스에서 정의하고 있다.