Programming/JAVA
📌 List, Set, Map 차이점 1분 컷 — 진짜 외우는 법 알려드림
추천캐릭터
2025. 8. 4. 20:47
728x90
반응형
📚 목차
- 이게 왜 중요한데?
- 표 하나로 비교 끝!
- 언제 뭘 써야 하나요?
- 마무리 요약 (진짜 1분 컷)
1. 이게 왜 중요한데?
자바 개발하면서 List, Set, Map 구분 못 하면...
👉 NullPointerException, IndexOutOfBoundsException, 동기화 오류
줄줄이 터집니다.
그럼 PM이 와서 말하죠:
“그거... 그냥 ArrayList 말고 HashSet 쓰면 안 되나?”
2. 표 하나로 비교 끝! ✅
구분ListSetMap
| 중복 허용 | ✅ 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로 살고
728x90
반응형