본문 바로가기

프로그래밍 /JAVA

[Java]Collections Framework

1) Collection Framework 란


다수의 데이터를 쉽게 처리할 수 있는 방법을 제공하는 클래스들로 구성

(ex)Vector,ArrayList,HashSet


java.utill 패키지에 포함 


2) 종류



 인터페이스

 

 1.List

 순서가 있는 데이터의 집합 , 데이터의 중복을 허용한다.

ex) 대기자 명단

 구현클래스 : ArrayList Vector

 2.Set

 순서를 유지하지 않는 데이터의 집합, 데이터의 중복을 허용X 

(집합이므로 데이터의 순서와는 상관없이 add수행 중복은 되지 않는다

ex)양의 정수 ,소수의집합

 구현 클래스 : HashSet, TreeSet

 3.Map

 (key) 와 (value) 의 한쌍으로 이루어진 데이터의 집합 

순서는 유지 되지 않으며, 키는 중복 허용 X 값은 중복 가능 하다 

ex) 우편번호,지역번호 ,나라번호

 구현 클래스 : HashMap, TreeMap,HashTable, 


3)비교


1. String [ ] 와 ArrayList  비교

-> String - > 배열의 크기를 지정한 후에 생성 ---> 후에는 변경이 불가하다

-> ArrayList -> 객체 생성후에 갯수를 지정할 필요가 X


2.중복을 허용O List   중복을 허용X Set


ArrayList 는 중복을 허용하면서 데이터가 순서대로 정렬이 된다.

HashSet 는 중복은 X 이고 또 데이터가 순서대로가 아니라는 점


3. Vector & ArrayList     


ArrayList  는 Vector를 개선해서 구현 원리와 기능은 동일하다

Vector 는 자체적으로 동기화 처리있다 but ArrayList는 없다

List인터페이스를 구현하고 있기에 , 저장순서가 유지되고 허용한다.