[JAVA] Collection

ByeolGyu·2024년 5월 20일

Collection 주요 특징

  • 표준화 된 인터페이스 제공
  • 재사용성 향상 (동일한 인터페이스를 통해 여러 클래스를 구현)
  • 알고리즘의 독립성 (정렬, 탐색 등의 알고리즘을 일관되게 적용 가능)

Collection의 종류

1. List

: 순서가 있는 데이터의 집합 (중복 허용)

  • ArrayList, LinkedList, Vector

ArrayList : List 인터페이스의 구현 중 하나, 확장 가능한 배열

  • 크기가 고정된 배열과 달리 ArrayList는 크기가 자동으로 조절됨
  • 입력된 순서 유지
  • 중복 혀용
  • 인덱스를 사용해 아이템에 빠르게 접근 가능
  • add(), remove(), contains(), indexOf()등의 메서드 활용 가능
  • 동적 크기 조절을 위한 추가 작업이 필요하기 때문에 일반 배열보다 느릴 수 있음
  • 제네릭을 사용해 특정타입만 저장 가능함 "<>" 기호를 통해 타입 지정 가능

2. set

: 순서가 없는 데이터의 집합(중복X)

  • hashSet, LinkedHashSet, TreeSet

HashSet

  • 중복 요소 허용X ( 동일 아이템이 추가될 경우 같은 해시코드를 가지게 되어 기존 아이템 덮어 씀)
  • 순서 보장 x
  • null 아이템 하나 저장 가능
  • 내부적으로 해시 테이블 사용 => 검색속도 빠름

3. Map

: 키와 값의 쌍으로 데이터를 관리 (키는 중복X , 값은 중복 허용)
-HashMap, LinkedHashMap, TreeMap

HashMap

  • Key와 Value의 쌍으로 데이터 저장
  • Key는 중복 허용X, 값은 중복 허용
  • 중복된 키를 저장 => 해당 키의 기존값이 새로운 값으로 대체됨

4. Queue

: First In , First Out(FIFO)방식으로 데이터 관리

profile
ByeolGyu

0개의 댓글