>Java >java지도 시간 >Java에서 키를 기준으로 지도 값을 정렬하는 방법은 무엇입니까?

Java에서 키를 기준으로 지도 값을 정렬하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-31 03:30:13312검색

How to Sort a Map's Values by Key in Java?

Java에서 키를 기준으로 맵 값 정렬

키를 기준으로 맵의 값을 정렬하려면 다음을 사용하여 TreeMap 또는 사용자 정의 SortedSet을 사용하는 것이 좋습니다. 비교기.

사용 TreeMap

  • TreeMap은 키를 정렬된 순서로 유지하는 특수 Map 구현입니다.
  • 문자열을 키로 사용하여 TreeMap을 생성하려면 새 TreeMap.

사용 SortedSet

  • Map이 처음에 TreeMap이 아닌 경우 TreeSet을 사용하여 키의 SortedSet을 생성할 수 있습니다.
  • 이를 통해 정렬된 키를 반복할 수 있습니다. 주문하세요.

코드 예:

import java.util.SortedSet;
import java.util.TreeMap;
import java.util.TreeSet;

public class MapSortByKey {

    // Using TreeMap
    public static void sortByTreeMap() {
        Map<String, String> map = new TreeMap<>();
        map.put("question1", "1");
        map.put("question9", "1");
        map.put("question2", "4");
        map.put("question5", "2");

        // Iterate through the sorted map
        StringBuilder questionString = new StringBuilder();
        StringBuilder answerString = new StringBuilder();
        for (Map.Entry<String, String> entry : map.entrySet()) {
            questionString.append(entry.getKey() + ",");
            answerString.append(entry.getValue() + ",");
        }

        // Remove the trailing commas
        questionString.setLength(questionString.length() - 1);
        answerString.setLength(answerString.length() - 1);

        System.out.println("Questions: " + questionString);
        System.out.println("Answers: " + answerString);
    }

    // Using SortedSet
    public static void sortBySortedSet() {
        Map<String, String> map = new HashMap<>();
        map.put("question1", "1");
        map.put("question9", "1");
        map.put("question2", "4");
        map.put("question5", "2");

        // Create a sorted set of the keys
        SortedSet<String> keys = new TreeSet<>(map.keySet());

        // Iterate through the sorted keys
        StringBuilder questionString = new StringBuilder();
        StringBuilder answerString = new StringBuilder();
        for (String key : keys) {
            String value = map.get(key);
            questionString.append(key + ",");
            answerString.append(value + ",");
        }

        // Remove the trailing commas
        questionString.setLength(questionString.length() - 1);
        answerString.setLength(answerString.length() - 1);

        System.out.println("Questions: " + questionString);
        System.out.println("Answers: " + answerString);
    }

    public static void main(String[] args) {
        sortByTreeMap();
        sortBySortedSet();
    }
}

위 내용은 Java에서 키를 기준으로 지도 값을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.