
컬렉션 프레임워크
- 데이터 군을 저장하는 클래스들을 표준화한 것.
- 컬렉션 데이터 그룹을 크게 3가지 타입이 존재한다고 인식하고 인터페이스를 정의했다.
여기서 List와 Set의 공통된 부분을 다시 뽑아 Collection 인터페이스를 추가로 정의했다.
Collection 인터페이스
- List, Set의 조상으로 읽기, 추가, 삭제 등의 기본적인 메서드들을 정의한다.
List 인터페이스
- 중복을 허용하면서 저장순서가 유지되는 컬렉션을 구현하는데 사용된다.
Set 인터페이스
- 중복을 허용하지 않고 저장순서가 유지되지 않는 컬렉션을 구현하는데 사용도
Map.Entry 인터페이스
- Map 인터페이스의 내부 인터페이스로 Map에 저장되는 Key-value 쌍을 다루기 위해 정의했다.
of, copyOf()
- List, Set, Map을 생성해서 반환하는 팩토리 메서드
- List, Set은
of(), Map의 경우 ofEntries()이다.
- copyOf()는 매개변수로 컬렉션을 받아와서 복사해서 반환한다.
- 얕은 복사로 봇가된 것으로 읽기만 가능하고 변경은 불가능하다.
SequencedCollection
- JDK 21부터 추가된 인터페이스로 Collection의 자식 클래스고 List의 부모 클래스이다.
- List인터페이스를 구현한 클래스의 메서드 중 공통으로 사용할 수 있는 것을 뽑아 인터페이스로 정의한 것
ArrayList
- List 인터페이스를 구현한 클래스로 저장순서가 유지되고 중복을 허용한다.