자바 컬렉션(Collection) 의 구성과 사용법


Java Collection Framework 란?

자바에서 값을 저장하는 다양한 컨테이너가 있는데, 다양한 컨테이너를 상황에 맞게 사용할 수 있게

하는 것이 컬렉션 프레임워크입니다.


컬렉션 프레임워크에는 Collection 과 Map 아래 주요 인터페이스가 존재합니다.



■ 인터페이스 특징

인터페이스 

구현클래스

설명

List<E> 


LinkedList

Stack

Vector

ArrayList


 순서가 있는 데이터 집합으로 중복을 허용함.

Set<E>


HashSet

LikedHashSet

TreeSet


데이터 집합으로 중복을 허용하지 않음.

Map<K, V>


Hashtable

HashMap

LikedHashMap

SortedMap


 키(K) 와 값(V) 로 이루어진 데이터 집합으로 키는 중복을 허용하지 않으며, 값은 중복을 허용함. 


●List 주요 인터페이스 

ArrayList

빠르고 크기조절이 자유로운 배열

단방향 포인터 구조로 자료에 대한 순차 접근의 장점


LinkedList

양방향 포인터 구조로 데이터의 삽입, 삭제가 빈번할 경우 빠른 성능을 보장.

스택, 큐, 양방향 큐 등을 만들기 위한 용도로 쓰임



●Set 주요 인터페이스

HashSet

순서를 유지 하지 않으며, 가장 빠른 임의 접근 속도.


LinkedHashSet

입력된 순서대로 데이터를 관리하며, 중복을 허용하지 않음.


TreeSet

TreeSet은 기본적으로 오름차순으로 데이터를 정렬.


 Map 주요 인터페이스 


HashMap

동기화가 보장되지 않지만, 동기화처리를 하지 않아 값을 찾는데 속도가 빠름.

 key와 value에 null이 허용 됨.

속도가 빠르지만, 신뢰성과 안정성이 떨어짐.


Hashtable

동기화 때문에 느리지만 동기화 락을 통해 무결성을 보장함.

 key와 value에 null이 허용 되지 않음.

속도가 느리지만, 안정성과 신뢰성이 높음.


TreeMap

정렬된 순서로 키/값 쌍을 저장하므로 빠른 검색이 가능.

저장할 때 오름차순으로 정렬을 함.


LinkedHashMap

HashMap을 상속받아 사용.

FIFO(First In First Out, 선입선출) 방식으로 입력한 순서대로 반복 사용 가능


■ Collection 인터페이스의 주요 메소드

메소드 

 설명

 boolean add(Object o)

 해당 컬렉션(collection)에 전달된 요소를 추가함.

 boolean addAll(Collection c)

 해당 컬렉션(collection)에 전달된 요소를 추가함.

 void clear()

 해당 컬렉션의 모든 요소를 제거함.

 boolean contains(Object o)

 해당 컬렉션이 전달된 객체를 포함하고 있는지를 확인함.

 boolean containsAll(Collection c) 

  해당 컬렉션이 전달된 객체를 포함하고 있는지를 확인함.

 boolean equals(Object o)

 해당 컬렉션과 전달된 객체가 같은지를 확인함.

 boolean isEmpty()

 해당 컬렉션이 비어있는지를 확인함.

 Iterator<E> iterator()

 해당 컬렉션의 반복자(iterator)를 반환함.

 boolean remove(Object o)

 해당 컬렉션에서 전달된 객체를 제거함.

 int size()

 해당 컬렉션의 요소의 총 개수를 반환함.

 Object[] toArray()

 



JAVA Collection API 링크

.Collection 


  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기