[Java] Collection Framework 이란?

H_rin·2023년 8월 7일

1. Collection Framework

데이터 집합/그룹을 의미하며 객체들을 한곳에 모아 관리하고, 편하게 사용하기 위해 제공되는 환경


collection 종류

  • List
  • Map
  • Set
  • Stack
  • Queue

collection을 사용하는 이유?

  • 다수의 data를 다루는데 표준화된 클래스들을 제공하기 때문에 자료구조를 직접 구현하지 않고 편하게 사용 가능
  • 객체를 보관하기 위한 공간을 미리 정하지 않아도 되므로, 상황에 따라 객체의 수를 동적으로 정할 수 있음

1-1. List

ArrayList LinkedList

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

ArrayList
배열로 구현된 List
단방향 포인터 구조로 각 데이터에 대한 인덱스를 가지고 있어서 조회 기능 성능에 뛰어나다.
LinkedList
노드의 주소를 기억하고 있는 List
양방향 포인터 구조로 데이터의 삽입, 삭제가 빈번할 경우 데이터의 위치정보만 수정하면 된다.


1-2. Map

HashMap HashTable TreeMap

key - value 의 쌍으로 이루어진 데이터 집합, 데이터 순서 보장 x

HashMap
가장 일반적으로 사용
key 값에 해시함수를 적용하여 나온 인덱스에 value를 저장


1-3. Set

HashSet TreeSet

value에 중복된 값을 저장하지 않는다. Map의 key-value 구조에서 key 대신 value가 들어감
순서를 유지하지 않는 데이터의 집합, 데이터의 중복을 허용 x

HashSet
value가 포함되어 있는지 아닌지만 관심이 있다.
가장 빠른 임의 접근 속도이고, 순서를 예측할 수 없다.


1-4. Stack & Queue

Stack : 직접 new 연산자로 객체를 생성하여 사용 가능
Queue : new 연산자로 객체를 생성함으로써 사용 가능

profile
hyerin / 한단계씩 배워가는 백엔드 개발자..(‘•̀ ▽ •́ )φ

0개의 댓글