[Java] Collection(1) - 컬렉션 프레임워크

2024. 11. 1. 17:11·프로그래밍언어/Java

컬렉션 프레임워크란? (Collection Framework)


  컬렉션 프레임워크는 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합입니다.

다른 말로 설명해보면, 데이터를 저장하는 자료구조와 데이터를 처리하는 알고리즘을 잘 구조화한 클래스들이라고 할 수 있습니다.

모든 컬렉션 프레임워크는 인터페이스, 클래스, 알고리즘으로 구성되어 있습니다.

또한 컬렉션 프레임워크의 모든 클래스와 인터페이스는 java.util 패키지에서 사용할 수 있습니다.

 

💡 클래스와 인터페이스 간단하게!
     - 인터페이스 : 메서드만 넣어 놓고, 자세한 건 implements 키워드를 사용하여 다른 일반 클래스에서 구현해야 합니다.
     - 클래스 : 구체적인 설계/구현부. 메서드들의 집합이라고 할 수 있어요.

컬렉션 프레임워크의 계층 구조


 

자바의 컬렉션 프레임워크의 계층 구조입니다.

 

Collection 인터페이스를 직접 상속 받는 List, Set, Queue Collection 모두 비슷한 구조를 가지고 있습니다.

메서드 또한 단순히 요소를 추가하거나, 삭제하는 메서드들이 대부분입니다.

 

반면에, Map Collection은 데이터가 key-Value 쌍으로 저장되어 구조가 다릅니다. 그래서 별도로 정의됩니다. 

Map은 키와 값을 관리하는데 중점을 둔 메서드들이 많습니다.

💡여기서 궁금했던 점.
그렇다면 Map에서 iterable 인터페이스은 상속받지 않으니 iterator() 메서드는 사용하지 못할까요?
사용할 수 있습니다. 직접 상속받지 않지만, 반환값을 Set으로 반환하거나, 모든 값을 Collection을 반환하여 사용합니다.

 

컬렉션 프레임워크의 주요 인터페이스


각 컬렉션의 특징과 속해있는 인터페이스를 알아보겠습니다.

List Collection

데이터 중복 저장을 허용하면서 저장 순서가 유지되는 컬렉션.

  • ArrayList 
  • LinkedList
  • Vector
  • Stack

Set Collecition

데이터 중복 저장을 허용하지 않고 저장 순서도 유지되지 않는 컬렉션.

  • HashSet
  • LinkedHashSet
  • TreeSet

Queue Collection

데이터 저장 시 FIFO(선입선출)를 보장하는 저장 순서가 유지되는 컬렉션.

  • Queue
  • PriorityQueue
  • Deque
  • ArrayDeque

Map Collection

데이터가 Key-Value 쌍으로 들어가며 각 Key 값이 고유하고 저장 순서가 유지되지 않는 컬렉션

  • HashMap
  • HashTable
  • Properties
  • LinkedHashMap
  • TreeMap

인터페이스 하나씩 특징, 메서드, 예문에 대해 하나씩 포스팅하여 링크 추가하겠습니다.

 

읽어주셔서 감사합니다. 잘못된 정보가 있다면 언제든 댓글 달아주세요! 🪄

 

⬇️ 참고 URL

https://velog.io/@chaerim1001/Java-Collection-%EC%A0%95%EB%A6%AC

https://www.geeksforgeeks.org/collections-in-java-2/

https://tcpschool.com/java/java_collectionFramework_concept

https://www.tutorialspoint.com/java/java_collections.htm

저작자표시 비영리 동일조건 (새창열림)

'프로그래밍언어 > Java' 카테고리의 다른 글

[Java]Collection(5) -Map  (5) 2024.11.07
[Java]Collection(4) - Set  (0) 2024.11.06
[Java]Collection(3) - Queue, Deque  (0) 2024.11.05
[Java] Collection(2) - List  (2) 2024.11.04
'프로그래밍언어/Java' 카테고리의 다른 글
  • [Java]Collection(5) -Map
  • [Java]Collection(4) - Set
  • [Java]Collection(3) - Queue, Deque
  • [Java] Collection(2) - List
N0X
N0X
해리포터를 좋아하는 개발자의 기록
  • N0X
    루모스코드🪄Lumos Code
    N0X
  • 전체
    오늘
    어제
    • 전체 글 (10)
      • 프로그래밍언어 (5)
        • Java (5)
      • SQL (0)
        • Oracle (0)
      • 자료구조 (0)
      • Life Hack (5)
        • 각종 후기 (2)
        • 툴팁쓰 (3)
  • 인기 글

  • 최근 글

  • 태그

    java
    오블완
    티스토리챌린지
    Collection
    sts run on server
    자바 컬렉션
    자바
    Java Collection
    oracle 18c
    컬렉션
  • hELLO· Designed By정상우.v4.10.1
N0X
[Java] Collection(1) - 컬렉션 프레임워크
상단으로

티스토리툴바