728x90
반응형
SMALL
안녕하세요😊 코드카인 여러분!
오늘은 Java에서 자주 사용하는 HashMap
, LinkedHashMap
, 그리고 TreeMap
의 차이점을 알아볼 거예요. 이름만 들어도 다 비슷해 보이지만, 각각의 성격과 쓰임새는 다릅니다! 일상생활에 비유해서 쉽게 이해해 볼까요? 😊
💡 HashMap: 무작위 친구 모임
HashMap은 정리되지 않은 무작위 친구 모임과 같아요.
- 특징: 데이터 저장 순서를 기억하지 않아요.
예를 들어, 친구를 모아놓고 이름과 번호를 적어도, 누가 먼저 왔는지는 기억하지 않아요. - 속도: 데이터를 삽입하거나 검색할 때 가장 빠릅니다.
- null 허용: 하나의
null
키와 여러 개의null
값을 허용해요.
예제 코드
import java.util.HashMap;
public class HashMapExample {
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<>();
map.put("Alice", "123-4567");
map.put("Bob", "234-5678");
map.put("Charlie", "345-6789");
System.out.println("HashMap: " + map);
}
}
결과: {Alice=123-4567, Bob=234-5678, Charlie=345-6789}
(순서는 매번 달라질 수 있어요!)
💡 LinkedHashMap: 정리된 친구 명단
LinkedHashMap은 정리된 친구 명단 같아요.
- 특징: 입력한 순서를 유지해요.
친구들이 도착한 순서대로 이름과 번호를 적어둔 명단이라고 생각하면 됩니다. - 속도: HashMap보다는 약간 느리지만, 순서를 유지해야 할 때 유용해요.
- null 허용: HashMap과 동일하게 하나의
null
키와 여러 개의null
값을 허용합니다.
예제 코드
import java.util.LinkedHashMap;
public class LinkedHashMapExample {
public static void main(String[] args) {
LinkedHashMap<String, String> map = new LinkedHashMap<>();
map.put("Alice", "123-4567");
map.put("Bob", "234-5678");
map.put("Charlie", "345-6789");
System.out.println("LinkedHashMap: " + map);
}
}
결과: {Alice=123-4567, Bob=234-5678, Charlie=345-6789}
(입력된 순서 그대로 유지!)
💡 TreeMap: 알파벳순 친구 목록
TreeMap은 알파벳순으로 정리된 친구 목록이에요.
- 특징: 키를 기준으로 정렬된 순서를 유지해요.
친구들의 이름을 가나다순이나 알파벳순으로 정리하는 것과 같아요. - 속도: HashMap, LinkedHashMap보다 삽입, 검색 속도가 느릴 수 있지만 정렬이 필요할 때 유용해요.
- null 키 불허: 키로
null
값을 허용하지 않아요.
예제 코드
import java.util.TreeMap;
public class TreeMapExample {
public static void main(String[] args) {
TreeMap<String, String> map = new TreeMap<>();
map.put("Alice", "123-4567");
map.put("Charlie", "345-6789");
map.put("Bob", "234-5678");
System.out.println("TreeMap: " + map);
}
}
결과: {Alice=123-4567, Bob=234-5678, Charlie=345-6789}
(자동으로 키를 정렬!)
🌟 언제 어떤 걸 사용해야 할까?
- 빠른 작업이 중요하다면?
→HashMap
- 입력된 순서를 유지해야 한다면?
→LinkedHashMap
- 정렬된 데이터가 필요하다면?
→TreeMap
😊 마무리하며..
HashMap, LinkedHashMap, TreeMap은 각자의 장단점이 있어요.
여러분이 데이터를 다루는 목적에 맞게 적절한 Map을 선택하면 됩니다.
초보라면 천천히 익혀도 괜찮아요! 여러분은 이미 잘하고 있어요! 💪✨
728x90
반응형
SMALL
'JAVA > Java Collection Framwork' 카테고리의 다른 글
Java 자료구조 완벽 이해: ArrayList, LinkedList, Vector의 모든 것 - 코드카인 티스토리 (0) | 2024.12.18 |
---|---|
Java Set 클래스 총정리: HashSet부터 TreeSet까지 쉽게 이해하기 - 코드카인 티스토리 (0) | 2024.12.18 |