[Java 개발] 제24회 Collection Framework

Java입문강좌

시작하며

여러분 안녕하세요!

DreamHanks의 254cm입니다.

이번 시간에는 Collection Framework에 대해서 설명해 보도록 하겠습니다.

Java의 전체 기사는 여기를 클릭해 주세요.

이전 기사는 [Java 개발] 제23회 Generics에 대해서 배워 봤습니다.

 

Collection Framework이란?

데이터형이 동일한 몇 가지 데이터를 관리하기 위해 배열을 사용했는데,

배열은 비효율적인 문제가 있습니다. 예를 들어 길이가 고정되어 있는 것과 값을 삭제할 수 없는      것 등이 있습니다.

이런 문제를 해결하기 위해 자바는 Java 5 버전에서 Collection 프레임워크를 제공하게 되었습니다.

Collection 프레임워크는 오브젝트나 데이터를 효율적으로 관리할 수 있는 데이터 스트럭처입니다.

Collection 프레임워크는 크게 3종류의 인터페이스로 구성되어 있습니다.

Collection 프레임워크 구성 요소

Collection 프레임워크는 Collection 인터페이스를 상속하는 List와 Set 구조가 달라

다른 인터페이스로 존재하는 Map으로 이루어져 있습니다.

 

List컬렉션

리스트는 배열과 같이 데이터를 일렬로 나열한 구조의 데이터 스트럭처입니다.

배열과 같이 저장된 데이터에 인덱스를 부여하여 인덱스를 이용하여 관리합니다.

리스트는 데이터를 삭제할 수 있고 길이는 저장되는 데이터의 수만큼 늘어납니다.

그리고 리스트는 오브젝트의 주소만 저장할 수 있고 동일한 주소도 null값도 저장할 수 있습니다.

리스트는 어떤 데이터형의 데이터를 격납하는지에 대해서 제네릭스를 사용해 지정합니다.

물론 제네릭스를 사용하지 않아도 사용할 수 있지만,

제네릭스에서 데이터형을 지정하지 않으면 어떤 데이터형 데이터도 저장할 수 있지만,

저장된 데이터를 사용할 때 오류가 발생하기 쉽습니다.

그래서 제네릭스를 사용하지 않고 List를 사용하는 것은 권장할 수 없습니다.

List 클래스 주요 메서드

샘플

출력 결과

 

Set컬렉션

Set는 List와 달리 인덱스를 부여하지 않기 때문에 저장된 순서로 값을 호출할 수 없습니다.

인덱스가 존재하지 않으므로 get(int index) 메서드를 제공하지 않습니다.

대신, Iterator라고 하는 것을 통해서 반복 또는 데이터 추출 등을 할 수 있습니다.

그리고 Set는 요소의 중복 격납을 허가하지 않습니다.

Set 클래스 주요 메서드

샘플

출력 결과

 

 

Map 컬렉션

Map은 배열의 인덱스와 비슷한 Key를 사용하여 저장되어 있는 데이터를 꺼냅니다.

각 데이터는 Key값과 함께 저장되며, 해당 Key값을 입력하여 필요한 데이터를 꺼냅니다.

Key 와 데이터의 데이터형은 제네릭스로 지정할 수 있습니다.

Map 클래스 주요 메서드

샘플

출력 결과

 

끝으로

이번 기사는 이상입니다.

다음 번에는 enum를 배워 보겠습니다.

방문해 주셔서 감사합니다.

 

コメント