Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Java/자바] HashMap 정렬, 4가지 방법 본문
예제 1: TreeMap을 사용하여 키(Key)로 정렬
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 50);
map.put("banana", 30);
map.put("orange", 40);
map.put("grape", 20);
TreeMap<String, Integer> sortedMap = new TreeMap<>(map);
System.out.println(sortedMap);
`TreeMap`을 사용하여 HashMap을 키(Key)로 정렬하는 예제입니다. TreeMap은 키의 자연 순서에 따라 정렬됩니다.
예제 2: Comparator를 사용하여 값(Value)로 정렬
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 50);
map.put("banana", 30);
map.put("orange", 40);
map.put("grape", 20);
List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet());
list.sort(Map.Entry.comparingByValue());
System.out.println(list);
Comparator를 사용하여 HashMap을 값(Value)으로 정렬하는 예제입니다. `entrySet()` 메서드를 사용하여 Map.Entry 객체를 리스트에 추가한 후, `comparingByValue()`로 값을 비교하여 정렬합니다.
예제 3: HashMap을 Stream API를 사용하여 키(Key)로 정렬
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 50);
map.put("banana", 30);
map.put("orange", 40);
map.put("grape", 20);
Map<String, Integer> sortedMap = map.entrySet().stream()
.sorted(Map.Entry.comparingByKey())
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue,
(oldValue, newValue) -> oldValue, LinkedHashMap::new));
System.out.println(sortedMap);
Stream API를 사용하여 HashMap을 키(Key)로 정렬하는 예제입니다. `sorted()` 메서드를 사용하여 키로 정렬한 후, `collect()` 메서드를 사용하여 LinkedHashMap에 매핑합니다.
예제 4: Apache Commons Collections 라이브러리 사용
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 50);
map.put("banana", 30);
map.put("orange", 40);
map.put("grape", 20);
Map<String, Integer> sortedMap = MapUtils.sortMap(map, Comparator.naturalOrder());
System.out.println(sortedMap);
Apache Commons Collections 라이브러리의 `MapUtils.sortMap()` 메서드를 사용하여 HashMap을 정렬하는 예제입니다. `Comparator.naturalOrder()`를 사용하여 키로 정렬합니다.
'프로그래밍' 카테고리의 다른 글
[Java/자바] StringBuilder 초기화, 모든 문자열 삭제하기 (0) | 2024.03.08 |
---|---|
[Java/자바] 오토박싱, 언박싱 (Autoboxing, Unboxing) (0) | 2024.03.08 |
[Java/자바] HashSet 최대값, 최소값 찾기, 3가지 방법 (0) | 2024.03.08 |
[Java/자바] LocalDate, LocalDateTime 시간 날짜 변경하기 (0) | 2024.03.08 |
[Java/자바] 문자열에서 특수문자 제거, 숫자 제거, 숫자만 남기기 (0) | 2024.03.08 |