SMALL

컬렉션(Collection)


자바에서 데이터를 저장하는 기본적인 자료구조를 모아서 편하게 사용하기 위해 컬렉션을 제공한다.




인터페이스

구현 클래스

특징

List

LinkedList

Stack

Vector

ArrayList 

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

Set

HashSet

TreeSet

순서가 없는 데이터의 집합이고, 데이터 중복을 허용하지 않는다. 

Map

HashMap

TreeMap

HashTable

Properties

키와 값의 쌍으로 이루어진 데이터의 집합이고, 데이터의 순서가 없고, 키는 중복을 허용하지 않고 값의 중복은 허용 



Collection Interface


모든 컬렉션의 상위 인터페이스로 add,isEmpty,size 같은 핵심 메소드를 선언


List Interface


  • LinkedList
양방향 포인터 구조로 데이터 삽입, 삭제가 빈번할 경우 성능이 좋음
  • Stack
LIFO(Last In First Out) 형식으로 먼저 들어온게 출력 되는 구조 (http://noil0816.tistory.com/15?category=663296 참고)
  • Vector
ArrayList의 구형 버전이고, 모든 메소드가 동기화 되어 있음
  • ArrayList
속도가 빠르며 크기를 마음대로 조절할 수 있는 배열이며 단방향 포인터 구조로 자료에 대한 순차적 접근에 강점이 있음

Set Interface

  • HashSet
가장 빠른 임의 접근 속도를 가지고 있으며 순서를 예측 할 수 없음
  • TreeSet
정렬된 순서대로 보관하여 정렬 방법을 지정 할 수 있음
  • LinkedHashSet
가장 최근에 접근한 순서 또는 추가된 순서로 접근 가능



Map Interface


  • HashMap
중복을 허용하지 않고 순서를 보장 할 수 없고, 키와 값으로 null 허용
  • TreeMap
BST 형태로 키와 값으 쌍으로 이루어진 데이터를 저장하며 정렬된 순서로 키와 값을 저장하므로 빠른 검색이 가능하며 저장시 정렬(오름차순)하기 때문에 시간이 오래 걸림 
  • HashTable
HashMap 보다 느리지만 동기화를 지원하고 키와 값으로 null 허용 하지 않음
  • LinkedHashMap

HashMap을 상속받아 사용하므로 HashMap과 유사하며, Map에 있는 엔트리들의 연결 리스트를 유지하므로 입력한 순서대로 반복 가능















LIST

'전공 > JAVA' 카테고리의 다른 글

JNI  (0) 2020.06.24
try-with-resource  (0) 2018.07.08
JVM  (0) 2018.05.02
접근제어자  (0) 2018.05.02
오버라이딩과 오버로딩  (0) 2017.11.24

+ Recent posts