Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Java/자바] 정렬된 순서로 Map(HashMap) 순회하기 본문
Java에서 HashMap은 순서를 보장하지 않습니다. 그러나 때로는 Map의 키 또는 값에 대해 정렬된 순서로 순회해야 할 때가 있습니다. 이를 위해 여러 방법이 있습니다. 이 블로그 게시물에서는 Java에서 정렬된 순서로 Map을 순회하는 다양한 방법을 살펴보겠습니다.
예제 1: TreeMap 사용
import java.util.*;
Map<Integer, String> map = new TreeMap<>();
map.put(3, "Three");
map.put(1, "One");
map.put(2, "Two");
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
위 예제는 TreeMap을 사용하여 정렬된 순서로 Map을 순회하는 방법을 보여줍니다. TreeMap은 내부적으로 키의 정렬된 순서를 유지하기 때문에 순회 결과가 정렬된 순서로 나옵니다.
예제 2: TreeMap에 Comparator 적용
import java.util.*;
Map<Integer, String> map = new TreeMap<>((a, b) -> b.compareTo(a));
map.put(3, "Three");
map.put(1, "One");
map.put(2, "Two");
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
위 예제는 TreeMap에 Comparator를 적용하여 역순으로 정렬된 순서로 Map을 순회하는 방법을 보여줍니다.
예제 3: LinkedHashMap 사용
import java.util.*;
Map<Integer, String> map = new LinkedHashMap<>();
map.put(3, "Three");
map.put(1, "One");
map.put(2, "Two");
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
위 예제는 LinkedHashMap을 사용하여 삽입 순서대로 Map을 순회하는 방법을 보여줍니다. LinkedHashMap은 요소를 삽입한 순서대로 순회됩니다.
'프로그래밍' 카테고리의 다른 글
[Java/자바] HashMap을 문자열로 변환하기 (0) | 2024.03.07 |
---|---|
[Java/자바] HashMap에서 키와 값 가져오기 (0) | 2024.03.07 |
[Java/자바] String 배열 초기화 방법 (0) | 2024.03.07 |
[Java/자바] 숫자 왼쪽에 0으로 채우기 (0) | 2024.03.07 |
[Java/자바] 싱글톤(Singleton) 패턴 구현하기 (0) | 2024.03.07 |