>  기사  >  Java  >  Java가 지도의 키를 정렬할 수 있나요?

Java가 지도의 키를 정렬할 수 있나요?

(*-*)浩
(*-*)浩원래의
2019-11-19 11:52:552044검색

Java가 지도의 키를 정렬할 수 있나요?

Map은 키-값 쌍의 컬렉션 인터페이스로, 구현 클래스에는 주로 HashMap, TreeMap, Hashtable 및 LinkedHashMap 등이 포함됩니다. (추천 학습: java 강좌)

TreeMap: Red-Black 트리를 기반으로 하는 NavigableMap 구현. 맵은 키의 자연스러운 순서에 따라 정렬되거나 맵 생성 시 제공되는 Comparator에 따라 정렬됩니다. 사용된 공법.

Map.Entry는 컬렉션 보기를 반환합니다.

키 정렬

TreeMap은 기본적으로 오름차순으로 정렬 방법을 변경해야 하는 경우 비교기인 Comparator를 사용해야 합니다. Comparator는 컬렉션 객체나 배열을 정렬할 수 있는 비교기 인터페이스입니다. 이 인터페이스의 공개 Compare(T o1, To2) 메서드를 구현하면 다음과 같이 정렬이 가능합니다.

import java.util.Comparator;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
public class TreeMapTest {
    public static void main(String[] args) {
        Map<String, String> map = new TreeMap<String, String>(
                new Comparator<String>() {
                    public int compare(String obj1, String obj2) {
                        // 降序排序
                        return obj2.compareTo(obj1);
                    }
                });
        map.put("b", "ccccc");
        map.put("d", "aaaaa");
        map.put("c", "bbbbb");
        map.put("a", "ddddd");
        
        Set<String> keySet = map.keySet();
        Iterator<String> iter = keySet.iterator();
        while (iter.hasNext()) {
            String key = iter.next();
            System.out.println(key + ":" + map.get(key));
        }
    }
}

실행 결과는 다음과 같습니다.

d:aaaaa
c:bbbbb
b:ccccc
a:ddddd

위 내용은 Java가 지도의 키를 정렬할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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