본문 바로가기
코딩 공부 기록/Java

[Java] 컬렉션 (Collection) 종류 알아보기

by Murphy0v0 2024. 12. 3.

✔️ 컬렉션(Collection)이란?


 

Java Collection Framework는 Java에서 데이터를 저장하고 조작하는 데 필요한 다양한 클래스와 인터페이스의 집합이다. 이 프레임워크는 데이터 구조를 효율적으로 관리하고, 데이터의 저장, 검색, 수정 및 삭제를 쉽게 할 수 있도록 도와준다. 

 

https://gangnam-americano.tistory.com/41 펌

 

 


 

1. Collection 인터페이스
모든 컬렉션의 최상위 인터페이스로, 기본적인 컬렉션 기능을 정의한다.

 

  • List 인터페이스 (순서가 있는 요소의 집합, 중복 허용, 인덱스 기반 접근)
    • ArrayList
      • 단방향 포인터 구조
      • 요소의 추가/접근이 빠름
      • 크기 자동 조정
      • 랜덤 액세스에 최적화
      • 중간 요소 추가/삭제 시 중간에 있으면 성능 저하 발생 가능성
    • LinkedList
      • 이중 연결 리스트를 기반
      • 요소의 삽입/삭제가 빠름
      • 큐와 스택 인터페이스 구현 가능
      • 랜덤 액세스 성능은 ArrayList보다 떨어지지만, 중간 요소 추가/삭제는 더 효율적임
    • Vector
      • 동기화된 동적 배열
      • 멀티스레드에 사용하기 좋음.
      • ArrayList와 유사하지만 성능은 떨어짐.
    • Stack
      • LIFO 구조
      • 배열로 요소를 저장하지만, 필요에 따라 크기를 동적으로 조정

 

  • Set 인터페이스 (중복 불허, 순서 없음, 빠른 검)
    • HashSet
      • 해시 테이블 기반
      • 요소의 추가, 삭제, 검색이 빠름
      • 순서 x, null값 허용
    • TreeSet
      • 이진 검색 트리 기반으로, 요소를 정렬된 상태로 유지
      • 요소는 지정한 정렬 방법에 따라 정렬됨

 

  • Map 인터페이스 (키-값 구조, null 허용/비허용)
    • HashMap
      • 해시 테이블을 기반으로 하며, 빠른 검색과 삽입을 지원함.
      • 순서를 보장하지 않음
      • 키와 값 모두 null 허
    • LinkedHashMap
      • 해시 테이블과 연결 리스트를 결합하여 삽입 순서를 유지함
    • TreeMap
      • 키의 자연 순서 또는 지정된 비교자에 따라 정렬된 맵을 제공
      • 키는 null을 허용하지 않음

 

 

 

'코딩 공부 기록 > Java' 카테고리의 다른 글

OSGi Framework 란? (기본 개념 이해)  (1) 2024.11.19
JAVA 소스 코드 구조  (0) 2024.10.18