map에 들어있는 데이터를 기준으로 정렬하는 방법입니다.
Java에서는 사용자 정의 비교를 사용하여 HashMap의 값을 정렬한 다음 정렬된 값을 List 또는 LinkedList에 저장할 수 있습니다.
다음은 HashMap의 값을 오름차순으로 정렬하는 예입니다.
[예제]
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class SortHashMap {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("A", 3);
map.put("B", 1);
map.put("C", 2);
List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
@Override
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
return o1.getValue().compareTo(o2.getValue());
}
});
for (Map.Entry<String, Integer> entry : list) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
[결과]
B: 1
C: 2
A: 3
Java에서는 사용자 정의 비교를 사용하여 HashMap의 값을 정렬한 다음 정렬된 값을 List 또는 LinkedList에 저장할 수 있습니다.
다음은 HashMap의 값을 역순으로 정렬하는 예입니다.
[예제]
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ReverseSortHashMap {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("A", 1);
map.put("B", 3);
map.put("C", 2);
List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
@Override
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
return o2.getValue().compareTo(o1.getValue());
}
});
for (Map.Entry<String, Integer> entry : list) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
[결과]
B: 3
C: 2
A: 1
Java ArrayList <class>의 날짜 값으로 정렬 (0) | 2023.03.02 |
---|---|
Java 숫자 쉼표 표시 (콤마 표시) (0) | 2023.02.14 |
Java 구분자가 포함된 단어 합치기 (0) | 2023.02.08 |
Java XML 쓰기 (0) | 2023.02.07 |
Java XML 읽기 (0) | 2023.02.07 |
댓글 영역