TIL

컬렉션 프레임워크

DoosanBaek 2022. 9. 26. 21:03

배열은 선언 시 정한 크기를 변경할 수 없고, 항목을 저장, 삭제, 추가하는 메소드가 없기 때문에

직접 인덱스를 사용해야 한다.

이러한 불편함을 해결하기 위해 자바는 컬렉션 프레임 워크를 제공한다.

 

자바는 널리 알려져 있는 자료구조를 사용해서 객체들을 효율적으로 추가,삭제,검색 할 수 있도록

인터페이스와 구현 클래스를 java.util 패키지에서 제공한다. 이들을 총칭해서 컬렉션 프레임 워크라고 부른다.

 

컬렉션은 객체의 저장을 뜻하고, 프레임워크란 사용 방법을 정해놓은 라이브러리를 말한다.

컬렉션 프레임워크의 주요 인터페이스로는 List,Set,Map이 있다.

이 인터페이스들은 컬렉션 클래스를 사용하는 방법을 정의한 것이다.

그리고 다음 그림은 이들 인터페이스로 사용 가능한 컬렉션 클래스(구현 클래스)를 보여준다.

한땀한땀 그린 나의 노력의 결과물

컬렉션 프레임워크 : 널리 알려져 있는 자료구조를 사용해서 객체들을 효율적으로 추가, 삭제, 검색 할 수 있도록 인터페이스와 구현 클래스들을 java.util 패키지에서 제공한다. 이들을 총칭해서 컬렉션 프레임워크라고 부른다.

List 컬렉션: List 컬렉션은 배열과 비슷하게 객체를 인덱스로 관리한다. 배열과의 차이점은 저장용량이 자동으로 증가하며,

객체를 저장할 때 자동 인덱스가 부여 된다는것이다. 그리고 추가 삭제, 검색을 위한 다양한 메소드가 제공된다. List 컬렉션은 동일한 객체를 중복 저장할 수 있고, null도 저장이 가능하다.

Set 컬렉션 : Set 컬렉션은 저장 순서가 유지되지 않는다. 또한 객체를 중복해서 저장할 수 없고, 하나의 null만 저장할 수 있다. Set 컬렉션은 수학의 집합과 비슷하다. 집합은 순서와 상관없고 중복이 허용되지 않기 때문이다. 

Map 컬렉션 : Map 컬렉션은 으로 구성된 Map.Entry 객체를 저장하는 구조를 가지고 있다. Entry는 Map 인터페이스 내부에 선언된 중첩 인터페이스이다. 여기서 은 모두 객체다. 키는 중복 저장될 수 없지만, 값은 중복 저장될 수 있다. 만약 기존에 저장된 키와 동일한 키로 값을 저장하면 기존의 값은 없어지고 새로운 값으로 대체된다.