📚 목차
- 이게 왜 중요한데?
- 표 하나로 비교 끝!
- 언제 뭘 써야 하나요?
- 마무리 요약 (진짜 1분 컷)
1. 이게 왜 중요한데?
자바 개발하면서 List, Set, Map 구분 못 하면...
👉 NullPointerException, IndexOutOfBoundsException, 동기화 오류
줄줄이 터집니다.
그럼 PM이 와서 말하죠:
“그거... 그냥 ArrayList 말고 HashSet 쓰면 안 되나?”
2. 표 하나로 비교 끝! ✅
| 중복 허용 | ✅ O | ❌ X | ✅ Value만 O |
| 순서 유지 | ✅ O | ❌ X (HashSet), ✅ TreeSet은 정렬됨 | ❌ X (정렬 불가) |
| 인덱스로 접근 | ✅ O (get(index)) | ❌ X | ❌ X |
| Key-Value 구조 | ❌ X | ❌ X | ✅ O |
| 대표 클래스 | ArrayList, LinkedList | HashSet, TreeSet | HashMap, TreeMap |
3. 언제 뭘 써야 하나요?
| 데이터 순서 유지 + 중복 허용 | ArrayList |
| 중복 없이 빠르게 저장 | HashSet |
| 정렬된 데이터 필요 | TreeSet, TreeMap |
| Key로 조회 필요 | HashMap |
| 삽입/삭제가 많음 | LinkedList |
4. 마무리 요약 (1분 컷 핵심)
List<String> list = new ArrayList<>(); // 순서 O, 중복 O
Set<String> set = new HashSet<>(); // 순서 X, 중복 X
Map<String, String> map = new HashMap<>(); // Key-Value
📌 기억법:
- List: 줄세우기 좋아함
- Set: 중복 싫어함
- Map: Key로 놀고 Value로 살고
'Programming > JAVA' 카테고리의 다른 글
| 🏷️JVM이란? 자바의 핵심 실행 엔진 구조 완벽 정리 (2) | 2025.07.30 |
|---|---|
| JDK vs JRE vs JVM 차이점 총정리 (0) | 2025.07.30 |
| 🔥 2025년, 어떤 자바 버전이 진짜 많이 쓰일까? (0) | 2025.07.27 |
| ☕ Java 가비지 컬렉션(GC) 동작 원리 쉽게 정리! (0) | 2022.11.21 |
| 📌접근자란? Getter와 Setter 개념과 Java 예제로 쉽게 이해하기 (0) | 2022.10.31 |