컴퓨터 공부/JAVA

JAVA Collection F/W 1탄 ( 정의 및 종류 )

나정_ 2014. 10. 14. 00:11


공부하는 것을 정리하는 블로그임을 먼저 알려드립니다. 

틀린 부분이나 부족한 부분이 있다면 아낌없이 댓글로 말씀 부탁드립니다.!! 




1. Collection F/W 정의 



컬렉션 프레임워크(Collection F/W)는 Java.util 패키지를 중심으로 다수의 데이터를 쉽게 처리할 수 있는 표준화된 방법을 제공하는 클래스들을 말한다. 

컬렉션(Collecion)은 다수의 데이터 즉 데이터 그룹을 프레임워크(F/w)은 표준화된 방식을 의미한다고 볼 수 있다. 


JDK 1.2 이전 까지는 Vector, Hashtable, Properties와 같은 컬렉션 클래스들을 서로 다른 각자의 방식으로 처리해야 햇으나 

JDK 1.2부터 컬렉션 프레임워크가 등장하면서 다양한 종류의 컬렉션 클래스가 추가되고 모든 컬렉션 클래스들이 표준화된 방식으로 다룰 수 있도록 체계화 되었다. 


컬렉션의 장점으로는 

1.  다양하고 풍부한 클래스를 개발자에게 제공해주고 있다는 점이며 

2. 다형성을 이용한 객체지향 설계를 통해 표준화 되어있기 때문에 사용법을 익히기에 쉽다. 



2. Collection F/W 종류 (List, Set, Map)


컬렉션 프레임워크는 크게 3가지 타입이 필요하다고 인식하고 필요한 기능을 가진 3개의 인터페이스(List, Set, Map) 를 정의하였다. 

그리고 인터페이스 List와 Set의 공통적인 부분을 뽑아서 새로운 인터페이스인 Collection을 추가적으로 정의하였다. 

그러나 Vertor, Stack, HashTable, Properties와 같은 클래스들은 컬렉션 프레임워크가 만들어지기 이전에 존재하던 것이기 떄문에 컬렉션 프레임워크 명명법을 따르지 않는다. 




3. Collection 인터페이스


List와 Set을 모아 만든 Collection 인터페이스의 메소드는 다음과 같다. 



 메소드

설 명  

 boolean add(Object o)

boolean addAll(Ccollection c)

지정된 객체(o) 또는 Collection(c)의 객체들을 Collection에 추가한다. 

 void clear()

Collection의 모든 객체를 삭제한다. 

 boolean contains(Object o)

boolean containAll(Collection c)

지정된 객체(o) 또는 Colletion(c)의 객체들이 Collection에 포함되어 있는지 확인한다.  

boolean equals(Object o) 

동일한 Collection인지 확인한다. 

int hashCode()

Collection의 hash code를 반환한다. 

boolean isEmpty() 

Collection가 비어있는지 확인한다. 

Iterator iterator() 

Collection의 Iterator를 얻어 반환한다. 

boolean remove(Object o) 

지정된 객체를 삭제한다. 

boolean removeAll(Collection c)

지정된 Collection에 포함된 객체를 삭제한다. 

 boolean retainAll(Collection c)

지정된 Collection에  포함된 객체만을 남기고 다른 객체들은 Collection을 삭제한다. 

이 작업으로 인해 Collection에 변화가 있으면 TRUE 없으면 FALSE를 반환한다. 

int size() 

Collection에 저장된 객체의 개수를 반환한다. 

Object[] toArray() 

Collection에 저장된 객체를 객체배열(Object[])로 반환된다. 

Object[] toArray(Object o) 

지정된 배열에 Collection의 객체를 저장해서 반환한다.  










'컴퓨터 공부 > JAVA' 카테고리의 다른 글

[JAVA] 정규식을 배워보자 (1)  (2) 2013.03.29
[JAVA] arrayList와 linkedList 차이점  (2) 2013.03.15
[JAVA] compareTo, equal, == 의 차이점  (5) 2013.02.08
Vector-벡터  (0) 2012.04.05
[기타]data/heap/stack/메모리 구조  (2) 2012.03.30