Programming/JAVA

JAVA Collection Framework(JCF)

녱녱 2022. 11. 16.

공부하며 정리한 내용입니다!

오류가 있다면 알려주시면 감사하겠습니다 :)

Collection

  • 데이터의 집합, 그룹을 말함
  • JCF 는 이런 데이터/자료구조인 컬렉션과 이를 구현하는 클래스를 정의하는 인터페이스를 제공
  • 대표적으로 List, Set, Map

List

  • List
  • 순서가 있으며 데이터의 중복이 허용
  • 인덱스로 원소에 접근 가능
  • 가변적
    • LinkedList
      • 양방향 포인터 구조
      • 삽입/삭제가 빈번할 때 데이터의 위치정보만 수정하면 됨
    • Vector
      • 과거 대용량 처리를 위해 사용
      • 내부에서 자동적으로 동기화 처리 -> 비교적 성능이 떨어지고 무거움 -> 잘 사용 X
    • ArrayList
      • 단방향 포인터 구조
      • 각 데이터에 대한 인덱스 -> 조회 기능에 좋음

Set

  • Set
  • 순서가 없으며 데이터의 중복이 허용 X
  • 검색속도가 빠름
  • 인덱스가 따로 존재 X -> iterator 사용
    • Hashset : 가장 빠른 임의 접근 속도를 가지지만 순서 예측 X
    • TreeSet : 정렬방법을 지정 가능

Map

  • Map<K, V>
  • Key-Value 쌍으로 이루어진 데이터 집합
  • 순서 유지 X
  • Key는 중복 X, Value는 중복 가능
    • HashTable : HashMap보다 느리지만 동기화 지원
    • HashMap : 중복 허용X, 순서 보장 X, NULL 허용, 검색에 뛰어난 성능
    • TreeMap : 이진 탐색 트리 기반, Key 값을 기준으로 오름차순 정렬, 저장 시 정렬 -> 속도가 느림

'Programming > JAVA' 카테고리의 다른 글

[자료구조] Stack  (0) 2023.01.15
[2023.01.12] charAt()  (0) 2023.01.12
[2023.01.11] StringBuilder  (0) 2023.01.11
[2023.01.06]reverseOrder()/toCharArray()  (0) 2023.01.06
[2023.01.05] 문자열 형변환/length/parseInt/substring/Math  (0) 2023.01.05

댓글