• The SortedMap Interface


     

    SortedMap is a Map that maintains its entries in ascending order, sorted according to the keys' natural ordering, or according to a Comparator provided at the time of the SortedMapcreation. Natural ordering and Comparators are discussed in the Object Ordering section. The SortedMap interface provides operations for normal Map operations and for the following:

    • Range view — performs arbitrary range operations on the sorted map
    • Endpoints — returns the first or the last key in the sorted map
    • Comparator access — returns the Comparator, if any, used to sort the map

    The following interface is the Map analog of SortedSet.

    public interface SortedMap<K, V> extends Map<K, V>{
        Comparator<? super K> comparator();
        SortedMap<K, V> subMap(K fromKey, K toKey);
        SortedMap<K, V> headMap(K toKey);
        SortedMap<K, V> tailMap(K fromKey);
        K firstKey();
        K lastKey();
    }
    

    Map Operations

    The operations SortedMap inherits from Map behave identically on sorted maps and normal maps with two exceptions:

    • The Iterator returned by the iterator operation on any of the sorted map's Collection views traverse the collections in order.
    • The arrays returned by the Collection views' toArray operations contain the keys, values, or entries in order.

    Although it isn't guaranteed by the interface, the toString method of the Collection views in all the Java platform's SortedMap implementations returns a string containing all the elements of the view, in order.

    Standard Constructors

    By convention, all general-purpose Map implementations provide a standard conversion constructor that takes a MapSortedMap implementations are no exception. In TreeMap, this constructor creates an instance that orders its entries according to their keys' natural ordering. This was probably a mistake. It would have been better to check dynamically to see whether the specified Map instance was a SortedMap and, if so, to sort the new map according to the same criterion (comparator or natural ordering). Because TreeMap took the approach it did, it also provides a constructor that takes a SortedMap and returns a new TreeMap containing the same mappings as the given SortedMap, sorted according to the same criterion. Note that it is the compile-time type of the argument, not its runtime type, that determines whether the SortedMap constructor is invoked in preference to the ordinary map constructor.

    SortedMap implementations also provide, by convention, a constructor that takes a Comparator and returns an empty map sorted according to the specified Comparator. If null is passed to this constructor, it returns a Map that sorts its mappings according to their keys' natural ordering.

    Comparison to SortedSet

    Because this interface is a precise Map analog of SortedSet, all the idioms and code examples in The SortedSet Interface section apply to SortedMap with only trivial modifications.

  • 相关阅读:
    微信支付接口开发时遇到的问题
    记录一次特别瞎的问题。。。
    二叉树的三种遍历(java实现)
    【转】redis实现的分布式锁
    @RequestParam、@ReqeustBody、@ReponseBody认识
    同步、异步、阻塞、非阻塞
    multipart/form-data和application/x-www-form-urlencoded区别
    HTTP请求的502、504、499错误
    Nginx配置CI框架问题(Linux平台下Centos系统)
    mac中更改xampp的根目录
  • 原文地址:https://www.cnblogs.com/hephec/p/4559109.html
Copyright © 2020-2023  润新知