JAVA

자바의 Collection ( List , Map , Set )

나는주민 2025. 1. 6. 18:36
 

자바의 Collection Framework는 데이터를 효율적으로 관리하고 조작하기 위한 클래스와 인터페이스의 집합입니다. 주요 인터페이스로는 List, Set, Map 등이 있으며, 각각 고유한 특성과 용도를 가지고 있습니다. 아래는 각 인터페이스와 주요 구현 클래스, 그리고 사용 예제입니다.


1. Set 인터페이스

  • 특징:
    • 중복 요소를 허용하지 않음.
    • 요소의 순서를 보장하지 않음. (HashSet)
    • 순서를 보장하는 경우도 있음. (LinkedHashSet)
    • 정렬된 순서를 유지. (TreeSet)

주요 구현 클래스

  • HashSet: 요소의 순서를 보장하지 않음.
  • LinkedHashSet: 요소의 삽입 순서를 유지.
  • TreeSet: 요소를 정렬된 상태로 유지.

2. Map 인터페이스

  • 특징:
    • 키-값 쌍(Key-Value Pair)으로 데이터를 저장.
    • 키는 중복을 허용하지 않음.
    • 값은 중복 가능.

주요 구현 클래스

  • HashMap: 순서를 보장하지 않음.
  • LinkedHashMap: 삽입 순서를 유지.
  • TreeMap: 키를 정렬된 상태로 유지.



 

3. List 인터페이스

  • 특징:
    • 순서가 있는 데이터의 집합.
    • 중복 허용.

주요 구현 클래스

  • ArrayList: 배열 기반, 검색 속도 빠름.
  • LinkedList: 연결 리스트 기반, 삽입/삭제 속도 빠름.

예제


4. Set, Map, List의 비교

인터페이스중복 허용순서 보장주요 구현 클래스
Set X X HashSet, TreeSet, LinkedHashSet
Map X (Key) X (기본) HashMap, TreeMap, LinkedHashMap
List O O ArrayList, LinkedList

5. 실전 예제

학생 이름과 점수를 저장하고 정렬된 점수로 출력하기

출력을 정리한 프로그램

  • 각 컬렉션의 특징을 활용해 상황에 맞는 데이터 구조를 설계하세요.