자바의 자료구조
인터페이스 | 구현클래스 | 특징 |
List |
Stack Vector ArratyList LinkedList |
1. 순서가 있는 데이터의 집합, 데이터의 중복을 허용 |
Set |
HashSet TreeSet |
1. 순서를 유지하지않는 데이터의 집합, 데이터의 중복을 허용하지 않는다. |
---|---|---|
Map |
HashMap TreeMAp HashTable Properies |
1. 키와 값의 쌍으로 이루어진 데이터의 집합 2. 순서를 유지되지 않고, 키는 중복을 허용하지 않으면 값의 중복을 허용 |
List Interface |
|
---|---|
LinkedList |
1. 양방향 포인터 구조로 데이터 삽입, 삭제가 빈번할 경우 빠른 성능을 보장 2. 스택, 큐, 양방향 큐 등을 만들기 위한 용도로 사용 |
Vector |
1. ArrayList의 구형버전이며, 모든 메소드가 동기화되어있음 |
ArrayList |
1. 상당히 빠르고 크기를 마음대로 조절할 수 있는 배열 2. 단방향 포인터 구조로 자료에 대한 순차적인 접근에 강점index사용가능 |
Set Interface |
|
---|---|
HashSet |
1. 가장빠른 임의 접근 속도 2. 순서를 전혀 예측할 수 없음 |
LinkedhashSet |
1. 추가된 순서 또는 최근에 가장 접근한 순서대로 접근 가능 |
TreeSet |
2. 정렬된 순서대로 보관하며 정렬 방법을 지정할 수 있음 |
Map Interface |
|
---|---|
HashMap |
1. Map 이넡페이스를 구현하기 위해 해시테이블을 사용한 클래스 2. 중복을 허용하지 않고 순서를 보장하지 않음 3. 키와 값으로 null이 허용 |
Hashtable |
1. HashMap보다는 느리지만 동기화가 지원 2. 키와 값으로 null이 허용되지 않음 |
TreeMap |
1. 이진검색트리의 형태로 키와 값의 쌍으로 이루어진 데이터를 저장 2. 정렬된 순서로 키/값 쌍을 저장하므로 빠른 검색이 가능 3. 저장시 정렬(오름차순)을 하기 때문에 저장시간이 다소 오래 걸림 |