Language/Java

컬랙션 프레임워크란?

park_juyoung 2019. 3. 20. 17:45


 개발자가 되기위한 첫 걸음 

컬렉션 프레임워크의 개념

컬렉션 프레임워크(collection framework)란?


다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미합니다.

데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것입니다.


이러한 컬렉션 프레임워크는 자바의 인터페이스(interface)를 사용하여 구현됩니다.


주요 인터페이스

컬렉션 프레임워크에서는 데이터를 저장하는 자료 구조에 따라 다음과 같은 핵심이 되는 주요 인터페이스를 정의하고 있씁니다.


  • List 인터페이스

  • Set 인터페이스

  • Map 인터페이스

이 중에서 List와 Set 인터페이스는 모두 베이스 타입은 Collection 인터페이스이지만 약간의 차이가 있다. 또한 Map 인터페이스는 구조상의 차이로 별도로 정의 됩니다.


주요 인터페이스 간의 상속 관계 및 구현 클래스


컬렉션 프레임워크 인터페이스 다이어그램

각 인터페이스의 간략한 특징


인터페이스 

 구현 클래스

특징 

 List

 Vector, ArrayList, LinkedList, Stack

순서가 있는 데이터의 집합으로, 데이터의 중복을 허용함 

Set 

 HashSet, TreeSet

순서가 없는 데이터의 집합으로, 데이터의 중복을 허용하지 않음. 

 Map

 HashMap, TreeMap, Hashtable, Properties

키와 값의 한 쌍으로 이루어지는 데이터의 집합으로, 순서가 없음. 이때 키는 중복을 허용하지 않지만, 값은 중복될 수 있음. 



Collections 클래스

Collections 클래스는 Collection 인터페이스를 구현한 클래스에 대한 객채생성, 정렬(Sort), 병합(merge), 검색(Search) 등의 기능을 안정적으로 수행 하도록 도와주는 역할을 하는 유틸리티 클래스입니다.


주요 메소드

메소드설명
max이 메소드는 지정된 컬렉션에서 최대 요소를 반환한다. (인덱스 아님)
min이 메소드는 지정된 컬렉션에서 초소 요소를 반환한다. (인덱스 아님)
sort이 메소드는 지정된 컬렉션을 정렬시킨다. 오버로드 메소드들이 존재하며 가장 기본적인 메소드는 자연순서에 따라 내림차순으로 정렬된다.
shuffle이 메소드는 지정된 컬렉션의 요소들을 무작위로 썩어 순서를 랜덤에가 만든다.
synchronizedCollection이 메소드는 지정된 컬렉션에 의해 지원되는 동기화 된 컬렉션을 재생성해 반환한다.
binarySearch이 메소드는 지정된 컬렉션에서 이진 적색 알고리즘을 사용해 지정된 객체를 검색해 인덱스를 반환한다.
disjoint2개의 지정된 컬렉션들에서 공통된 요소가 하나도 없는 경우 true 를 반환한다.
copy이 메소드는 지정된 켈렉션의 모든 요소를 새로운 컬렉션으로 복사해 반환한다.
reverse이 메소드는 지정된 컬렉션에 있는 순서를 역으로 변경한다.


관련글

1.https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html

2.http://tcpschool.com/java/java_collectionFramework_concept

 



 

내용이 도움이 되셨거나 초보 블로거를 응원하고 싶으신 분은 아래 하트♥공감 버튼을 꾹 눌러주세요! 

내용의 수정이 있거나 도움이 필요하신 분은 댓글을 남겨주세요!




'Language > Java' 카테고리의 다른 글

람다식(Lamdba Expressions) 정리  (6) 2019.03.25
예외 처리(Exception)  (0) 2019.03.21
JVM 구조  (0) 2019.03.07
RxJava란? -4 Scheduler  (0) 2019.01.26
RxJava - 3 Operators 이어서  (0) 2019.01.26