Java – Collection 개요 (자료구조)

> 필요없는 사족 (Posting 계기)

Java – Collection에 관한 참고자료 및 Post, 책 등은 사실 이렇게 중복 Post를 할 필요가 없을 정도로 많고 쉽게 찾아 볼 수 있다.  알고리즘에 대해 이야기 할 때, 그리고 자료구조 혹은 Data 핸들링을 위한 이야기 들 가운데 항상 등장한다.  하지만 여기 저기 흩어진 각자의 정리방법, 혹은 Tip들에 대해 블로그 Category로 모을 수 있으면 어떨까 하는 생각에 Posting작업을 시작하게 되었다.

Java를 다루는 이에게 Collection이란 기초적이면서도, 언제든 다시 상기해야 하는 시점이 오는 주제가 아닌가 싶다.

끈기 있게 할 수 있을지 모르겠다.  될 수 있으면 각 개별 Collection들의 특징, 혹은 관련된 Tip, 비교 자료 등을 빠짐없이 이 blog-Category에 모을 수 있다면 하는 소망이 있다.
(단순히 link하는 정도를 넘어)

 

> Java – Collection

Collection은 배열과 같은 다른 객체를 저장, 핸들링하는 것을 목적으로하는 객체이다.   배열과 달리 Collection에는 요소의 일부를 반환하고 변환 및 정렬 등의 메서드를 포함하고 있다.  또한 Collection은 primitive type(int, long, boolean 등)을  요소의 type으로 지정할 수 없다. (하지만 primitive type에 대응되는 wrapper Class를 사용할 수 있다. 예: int -> java.lang.Integer)

모든 Collection 객체는 궁극적으로 java.util.Collection 인터페이스를 구현한다.  그러나 인터페이스를 직접 구현하는 경우는 별로 없다.  Collection 추가 메소드를 지정하는 여러 하위 인터페이스가 있다.  이러한 하위 인터페이스들은 Collection의 기능을 결정한다.  개별 클래스는 일반적으로 구현방식에서만 차이를 보인다. (예를 들어, 모두 ArrayList와 LinkedList는 List의 일반적인 기능을 모두 만족하지만, 내부 구현 방식에 있어 차이를 보인다.)

Collection 인터페이스 의 대부분의 구현은 java.util에 있다.

Map은 Collection 인터페이스를 상속하지 않음에도 불구하고,  일반적으로 Collection을 이야기 할때 항상 포함되기에 함께 이야기해보겠다.

 

> Java Collection 구조

 

> 자료구조 별 일반 특징 비교 (대분류)

 

> 주요 자료구조 별 특징 비교 (실구현 Class)

 

> 참고 URL

Leave a Reply

Your email address will not be published. Required fields are marked *