반응형

Collection

웹 프로젝트를 수행하면서 DB에서 데이터를 가져오는 과정에서 List<Vo> 또는 List<Map> 형태 등으로 데이터를 가져오는 행위를 진행하기도하고, 데이터를 가공하거나 처리할 때 컬렉션을 자주 사용합니다. 컬렉션에 대해서 알아보겠습니다.

 

먼저 컬렉션 그룹에는 3가지 타입(List, Set, Map)이 존재합니다.

 

각각에 대한 특정은 아래와 같습니다.

1. List : 데이터의 순서가 보장되며 중복을 허용하는 집합

2. Set : 순서를 유지하지 않고 중복도 허용하지 않는 집합

3. Map : key와 value가 pair로 이루어진 데이터의 집합으로 key의 중복은 허용되지 않습니다.(value는 허용)

 

개발시 컬렉션의 특징을 정확하게 파악하여 용도에 맞게 적용해야 하므로 3가지의 차이점을 알고 있어야 합니다.

 

Collection Method

boolean add(Object o)
boolean addAll(Collection c)
객체를 추가합니다.
void clear() 모든 객체를 삭제합니다.
boolean contains(Object o) 객체가 포함되어 있는지 확인합니다.
boolean equals(Object o) 동일한 컬렉션인지 비교합니다.
int hashCode() 컬렉션의 hasCode를 반환합니다.
boolean isEmpty() 컬렉션이 비어있는지 확인합니다.(비었으면 true)
Iterator iterator() 컬렉션에서 Iterator를 얻어서 한개씩 처리합니다.
boolean remove(Object o) 지정한 객체를 삭제합니다.
boolean removeAll(Collection c) 지정한 Collection의 모든 객체를 삭제합니다.
boolean retainAll(Collection c) 지정된 컬렉션만 남기고 나머지는 삭제합니다.
int size() 컬렉션의 개수를 가져옵니다.
Object[] toArray() 컬렉션의 데이터를 배열로 복사합니다.
Object[] toArray(Object[] a) 컬렉션의 데이터를 지정한 타입의 배열로 복사합니다.

 

List

리스트는 순서가 유지되며 중복도 허용합니다.

 

List Method

void add(int i, Object o) i위치에 o를 추가합니다.
Object get(int i) i의 객체를 반환합니다.
int indexOf(Object o) o 객체의 위치를 첫번째 요소부터 찾아서 반환합니다.
int lastIndexof(Object o) o 객체의 위치를 마지막 요소부터 찾아서 반환합니다.
ListIterator listIterator() List의 객체를 하나씩 반환하여 처리합니다.
Object remove(int i) i의 객체를 삭제하고 삭제된 객체를 반환합니다.
Object set(int i, Object o) 지정된 위치에 o 객체를 저장합니다.
void sort(Comparator c) List를 정렬합니다.
List subList(int fi, int ei) fi부터 ei까지의 범위의 객체를 반환합니다.

 

Map

key, value를 통해 하나의 쌍으로 동작하는 컬렉션 클래스로 key는 중복이 불가능하고 value는 중복이 가능합니다.

key중복시 마지막으로 등록한 key의 데이터로 덮어쓰기 됩니다.

 

Map Method

void clear() Map의 모든 객체를 제거합니다.
boolean containsKey(Object key) key와 일치하는 객체가 있는지 확인합니다.
boolean containsValue(Object value) value와 일치하는 개체가 있는지 확인합니다.
Set entrySet() 모든 key-value쌍의 객체를 저장한 Set으로 반환합니다.
boolean equasl(Object o) 동일한 Map인지 비교합니다.
Object get(Object key) key의 value값을 반환합니다.
boolean isEmpty() Map이 비어있는지 확인합니다.
Set keySet() 모든 key를 반환합니다.
Object put(Object key, Object value) key, value의 쌍을 지정하여 저장합니다.
void putAll(Map m) m의 모든 key, value를 저장합니다.
Object remove(Object key) key객체와 일치하는 쌍을 삭제합니다.
int size() key, value 쌍의 개수를 반환합니다.
Collection values() 저장된 모든 value 객체를 반환합니다.

 

반응형