Test159 컬렉션 프레임워크 (개요)
자료
현실 세계로부터 단순한 관찰이나 측정을 통해서 수집된 사실이나 개념의 값들 또는 값들의 집합.
↓
자료 구조
자료 처리를 위한 자료의 표현, 저장, 관계, 관리 및 이용에 관한 방법 등의 개념을 이용하여 프로그램에 사용하고 컴퓨터에 의해 처리되는 과정에서 적절한 자료의 표현, 구성, 저장 및 처리를 위한 알고리즘 작성 및 선택과 이용 방법을 연구하는 분야.
↓
컬렉션 프레임워크(Collection Framework)
컬렉션(모아놓은 데이터들)의 표현과 조작을 위한 통일된 아키텍처로 컬렉션 프레임워크를 구성하는 요소는 다음과 같다.
1. 인터페이스(Interface)
기본적으로 컬렉션에 필요한 데이터 관리 기능을 제공한다.
예를 들어, list는 추가, 삭제, 검색 기능을 제공하는 컬렉션 인터페이스가 존재하며 각 컬렉션마다 고유의 인터페이스가 정의되어 있다.
2. 구현(Implementation)
인터페이스를 구현한 클래스로 각 컬렉션을 실제 어떤 자료구조를 이용하여 표현했느냐에 따라 컬렉션의 종류가 달라지게 된다.
3. 알고리즘(Algorithms)
각 컬렉션들마다 유용하게 사용할 수 있는 메소드를 의미한다.
※ 자바 컬렉션을 견고한 컬렉션 프레임워크 기반 위에 정의되어 있으므로 각 컬렉션 종류마다 제공되는 메소드의 일관성이 있기 때문에 한 가지 컬렉션을 익혀두면 다른 컬렉션을 사용하는데 용이하다.
컬렉션 프레임워크의 종류
이러한 컬렉션 프레임워크들은 어떠한 인터페이스를 구현하였는지에 따라서 기본적인 성격이 달라진다. 우선 List를 구현하는 클래스들은 인덱스 순서에 따라 데이터가 저장되고 데이터의 중복 저장이 가능하다. Set을 구현하는 클래스들은 순서를 유지하지 않고 데이터를 저장하며 중복된 데이터의 저장이 불가능하다. Map을 구현하는 클래스들은 키(key)와 값(value)을 동시에 저장한다.(즉, 키(key)를 통해 값을 불러온다.) 이때 키는 중복 저장이 불가능하다.
해당 인터페이스를 구현하는 클래스들은 동일한 조작법(메소드)을 갖고 있지만 동작하는 내용들은 조금씩 다르다. 이들이 어떠한 동작을 하는지는 다음 포스팅부터 종류별로 하나씩 알아보도록 하겠다.
'JAVA > 컬렉션 프레임워크' 카테고리의 다른 글
Test169 컬렉션 프레임워크 - (4) Enumeration 과 Iterator 인터페이스 (0) | 2020.09.23 |
---|---|
Test168 컬렉션 프레임워크 - (3) 벡터(Vector) - 연습문제 (0) | 2020.09.23 |
Test163 ~ 167 컬렉션 프레임워크 - (3) 벡터(Vector) (0) | 2020.09.23 |
Test161 ~ 162 컬렉션 프레임워크 - (2) 큐(Queue) (0) | 2020.09.22 |
Test160 컬렉션 프레임워크 - (1) 스택(Stack) (0) | 2020.09.22 |