1️⃣ 자료구조 & 컬렉션 프레임워크

✔ 자료구조란?

데이터를 효율적으로 저장·관리하는 방식

→ 자료구조 선택 → 프로그램 성능에 직접 영향

✔ 컬렉션 프레임워크란?

Collection
 ├─ Set        (중복 없음)
 └─ List       (순서 있음, 중복 허용)
Map            (키-값 쌍)


2️⃣ Set 인터페이스 (중복❌, 순서❌)

구현 클래스 특징
HashSet 가장 많이 사용됨 / 빠름 / 순서X
SortedSet 정렬된 형태 유지

사용 예

HashSet hs = new HashSet();
hs.add("gemini");
hs.add("johnharu");
hs.remove("johnharu");
System.out.println(hs);

중복 저장 시 → 자동 제거


3️⃣ List 인터페이스 (순서⭕, 중복⭕)

구현 클래스 특징
ArrayList 가장 일반적 / 빠른 조회
Vector ArrayList와 유사하지만 동기화 지원
Stack LIFO(후입선출)
LinkedList 삽입·삭제 많을 때 유리

ArrayList 예제

ArrayList al = new ArrayList();
al.add("gemini");
al.add("johnharu");
System.out.println(al.get(1));   // 인덱스로 접근

✨ List는 다형성 활용 중요