TIL - 20250707

juni·2025년 7월 7일

TIL

목록 보기
58/317

Java 컬렉션 프레임워크 학습내용 (0707)


✅ List

  • 특징

    • 순서가 있는 데이터 구조.
    • 중복된 값을 허용.
  • 주요 구현 클래스

    • ArrayList, LinkedList
  • 주요 메서드

    • add(): 요소 추가
    • add(index, value): 중간 삽입
    • get(index): 요소 참조
    • set(index, value): 요소 수정
    • remove(index or value): 요소 삭제
    • size(): 요소 개수 반환
    • contains(value): 포함 여부 확인
    • indexOf(value): 인덱스 반환
    • clear(): 전체 삭제
    • isEmpty(): 비어있는지 확인
  • 순회 방법

    • 일반 for문
    • 향상된 for문
    • forEach() 메서드

✅ Set

  • 특징

    • 중복 불허
    • 순서 없음
  • 주요 구현 클래스

    • HashSet
  • 활용

    • 중복 제거 용도 (예: List → Set 변환 후 중복 제거)
  • 주요 메서드

    • add(): 요소 추가
    • remove(): 요소 삭제
    • contains(): 포함 여부 확인
    • size(): 요소 개수
    • clear(): 전체 삭제
    • isEmpty(): 비어 있는지 여부
  • 주의

    • equals()hashCode() 오버라이딩 필요 (객체 중복 비교를 위함)

✅ Map

  • 특징

    • key-value 쌍으로 저장
    • key는 중복 불가, value는 중복 허용
    • 순서 없음
  • 주요 구현 클래스

    • HashMap
  • 주요 메서드

    • put(key, value): 값 추가 및 수정
    • get(key): 값 조회
    • containsKey(key): 키 존재 여부
    • size(): 엔트리 수 반환
    • keySet(): key 목록 반환
    • clear(), remove(), isEmpty()
  • 반복 처리

    • keySet 이용 → key 순회하며 value 조회

✅ 실습 예시: 가수와 노래 관리 프로그램

  • Artist: 가수 이름과 노래 목록(Set) 저장
  • ArtistRepository: 가수를 Map<String, Artist>에 저장
    • 가수 추가, 노래 추가, 전체 조회 기능 제공
  • ArtistController: 사용자 입출력 처리
    • 메뉴 기반 인터페이스로 동작
    • 가수 및 노래 등록, 검색, 전체조회 가능

✅ 요약

자료구조순서중복주요 인터페이스
ListOOArrayList
SetXXHashSet
MapXKey X / Value OHashMap

Java 컬렉션은 상황에 따라 적절한 자료구조를 선택하여 사용하는 것이 중요합니다.
List는 순서 있는 데이터, Set은 중복 제거, Map은 키-값 기반 조회에 유리합니다.

0개의 댓글