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

2024. 12. 3. 10:10·코딩 공부 기록/Java

✔️ 컬렉션(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
'코딩 공부 기록/Java' 카테고리의 다른 글
  • OSGi Framework 란? (기본 개념 이해)
  • JAVA 소스 코드 구조
Murphy0v0
Murphy0v0
코딩 공부 / 일상 / 여행 / 자유 글
  • Murphy0v0
    주니어 개발자 Murphy의 코딩 저장소
    Murphy0v0
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 여행
      • 코딩테스트
        • 알고리즘
      • 코딩 공부 기록
        • C#
        • SQL
        • Java
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    sql 튜닝
    sql테이블복사
    코딩테스트
    mssql 로컬
    mssql 메모리
    sql server developer
    코딩테스트준비
    넌클러스터
    mssql 로컬 서버
    프로그래머스 코딩테스트
    프로그래머스
    오블완
    대용량 데이터 삭제
    DB인덱스
    MSSQL
    mssql튜닝
    osgi framework
    티스토리챌린지
    코딩테스트연습
    db table scan
    mssqllock
    코딩테스트java
    인덱스조각화
    Java
    인덱스 튜닝
    MSSQL 인덱스
    인덱스
    클러스터형인덱스
    sql 잠금
    mssql테이블복제
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Murphy0v0
[Java] 컬렉션 (Collection) 종류 알아보기
상단으로

티스토리툴바