Dipa's document :: [JAVA] Collection Framework

오늘은 컬렉션의 List 컬렉션 에 대해서 알아보도록 하겠습니다.

먼저 Collection이란?

많은 응용프로그램을 개발을 하다보면, 수많은 데이터를 처리(추가, 삭제 검색..등등) 하게 됩니다.

하지만 이러한 처리에 대해서 어떻게 하면 가장 효율적으로 할수 있을까? 라는 생각으로 접근을 할 수 있습니다. 데이터를 가장 간단하게 처리하는 방법이 무엇이 있을까여? 바로 "배열" 입니다. 데이터를 담을 공간을 어느정도 담을지 선언을 하고, 처리를한다. 무척 간단하죠? ㅋㅋㅋ

근데 배열은 많은 문제점이 있습니다. 일단 데이터를 얼마나 처리를 할지에 대한 불문명함과 또한 그런거를 모르고 아주 크게 데이터 공간을 선언을하면, 불필요한 공간이 남게 됩니다. 그리고 어떠한 인덱스 자리에 데이터를 삭제를 하게되면..그 공간은 비어있게 되는 것이지요.. 이러한 많은 문제점등이 있기 떄문에.. JAVA에서는 배열의 문제점을 해결하고 자료구조(Data Structure)를 바탕으로 컬렉션 프레임워크(Collection FrameWork)를 만들었습니다.

그렇다면,, JAVA 컬렉션에는 어떠한 것들이 있는지 살펴보도록 하겠습니다.

 * JAVA Collection FrameWork 주요 인터페이스 및 클레스

LinkedList, Stack, Vector, ArrayList 는 List인터페이스를 구현한 클레스들이고, HashSet, TreeSet은 Set인터페이스를, 그리고 HashTable, HashMap, TreeMap, Property 는 Map 인터페이스를 구현한 클레스 입니다.


 * JAVA Collection FrameWork 주요 인터페이스의 특징

 인터페이스

구현클레스 

특징 

List 

ArrayList

Vector

LinkedList 

- 순서를 유지하고 저장

-중복 저장 가능 

Set 

HashSet

TreeSet 

- 순서를 유지하지 않고 저장

- 중복 저장 불가능 

Map 

HashMap

HashTable

TreeMap

Property 

- 키와 값의 쌍으로 저장

- 키는 중복 저장 안 됨 





Posted by SH후니
,