컬렉션 프레임워크(Collection framework)란?
다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미한다.
즉, 데이터를 저장하는 자료 구조와 데이터를 처리하고 알고리즘을 구조화하여 클래스로 구현해 놓은 것이다.
자료구조는 Data Structure라고 하는데, 직역하면 데이터 구조. 좀 더 구체적으로 말하면 '일련의 일정 탕비들의 데이터 모임 또는 관계를 나타낸 구성체'라고 말할 수 있다.
이러한 컬렉션 프레임워크는 자바의 인터페이스를 사용하여 구현된다.
컬렉션 프레임워크 주요 인터페이스
컬렉션 프레임워크에서는 데이터를 저장하는 자료 구조에 따라 다음과 같은 핵심이 되는 주요 인터페이스를 정의하고 있다.
- List 인터페이스
- Set 인터페이스
- Map 인터페이스
이 중에서 List 와 Set 인터페이스는 모두 Collection 인터페이스를 상속받지만, 구조상의 차이로 인해 Map 인터페이스는 별도로 정의된다.
주요 인터페이스의 간략한 특징
컬렉션 클래스(collection class)
컬렉션 프레임워크에 속하는 인터페이스를 구현한 클래스를 컬렉션 클래스 라고 한다.
컬렉션 프레임워크의 모든 컬렉션 클래스는 List, Set, Map 인터페이스 중 하나의 인터페이스를 구현하고 있다. 또한, 클래스 이름에도 구현한 인터페이스의 이름이 포함되므로 바로 구분할 수 있다.
Vector나 Hashtable과 같은 컬렉션 클래스는 예전부터 사용해 왔으므로, 기존 코드와의 호환을 위해 아직도 남아 있다.
하지만 기존에 사용하던 컬렉션 클래스를 사용하는 것보다는 새로 추가된 ArrayList나 HashMap 클래스를 사용하는 것이 성능 면에서도 더 나은 결과를 얻을 수 있다.
자료구조
자바에서 지원하는대표적인 11가지 컬렉션
- ArraList
- LinkedList
- Vector
- Stack
- Queue(by LinkedList)
- PriorityQueue
- Deque(by LinkedList)
- ArrayDeque
- HashSet
- LinkedHashSet
- TreeSet
간단하게 어떤 상황에 어떤 자료구조를 쓰는 것이 알맞은지에 대한 그림이다.
이 자료구조에 대한 기본 이해와 구현은 해보는 것이 좋다. 앞으로 하나씩 자세하게 정리하는 시간을 가져봐야겠다.
참고하기 좋은 블로그이다.
출처: https://st-lab.tistory.com/142
출처 : http://www.tcpschool.com/java/java_collectionFramework_concept
'Java' 카테고리의 다른 글
[Java] Reflection(리플렉션) 이란? (0) | 2022.11.03 |
---|---|
[Java] 싱글톤 패턴 (0) | 2022.11.02 |
[Java] Optional 이란? (1) | 2022.10.23 |
[Java] Stream(스트림)? (0) | 2022.10.18 |
[Java] 람다식? (0) | 2022.10.18 |