Java 컬렉션 프레임워크

I C-AN·2021년 8월 1일
0

Java

목록 보기
18/26
post-thumbnail

📚 컬렉션 프레임워크란?

컬렉션 프레임워크란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미한다.
즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것이다.
이러한 컬렉션 프레임워크는 자바의 인터페이스를 사용하여 구현된다.

핵심 인터페이스

인터페이스특징
List순서가 있는 데이터의 집합. 데이터의 중복을 허용한다.
ArrayList, LinkedList, Stack, Vector 등
Set순서를 유지하지 않는 데이터의 집합. 데이터의 중복을 허용하지 않음.
HashSet, TreeSet 등
MapKey : Value 형태로 이루어진 데이터의 집합.
순서는 유지되지 않고, 키는 중복을 허용하지 않으며 값은 중복을 허용한다.
HashMap, TreeMap, HashTable, Properties 등

ListSet 인터페이스는 모두 Collection 인터페이스를 상속받지만, 구조상의 차이로 인해 Map 인터페이스는 별도로 정의된다.

Collections

Collections는 컬렉션을 위한 메서드(static)를 제공한다.

Collections 주요 메서드

fill() // 컬렉션 채우기
copy() // 컬렉션 복사
sort() // 정렬
binarySearch() // 이진 검색

동기화

static XXX synchronizedXXX()

Vector 등의 옛날 컬렉션은 자동적으로 동기화 기능이 있었지만, ArrayList등의 새로운 컬렉션은 수동으로 동기화를 해주어야 한다. 동기화가 제공되는 것이 무조건적으로 좋은 것이 아니라 실행 속도 측면에서 성능의 차이가 있기 때문에 상황에 따라서 적절하게 사용하는 것이 좋다.

읽기 전용 컬렉션

static XXX unmodifiableXXX()

컬렉션에 저장된 데이터를 보호하기 위해 변경할 수 없도록 읽기 전용으로 만드는 기능이 있다. 하나의 컬렉션을 공유하다보면 데이터가 변경될 수 있는 데 이를 방지하기 위해 unmodifiableXXX()를 사용한다.

싱글톤 컬렉션

static List singletonList(Object o)
static Set singleton(Object o)
static Map singletonMap(Object key, Object value)

컬렉션을 new 생성자가 아닌 메서드로 생성함으로써 싱글톤 패턴을 활용하여 인스턴스의 개수를 제한할 수 있다.

profile
할 수 있다

0개의 댓글