SortedMap Interface

SortedMap interface extends Map interface to further provide a total ordering on its keys.


Important Properties of SortedMap

  • SortedMap is ordered according to the natural ordering of its keys, or by a Comparator typically provided at sorted map creation time.

  • Order is reflected when iterating over the sorted map's collection views returned by the entrySet, keySet and values methods.

  • SortedMap is the map analogue of SortedSet.

  • All keys inserted into a sorted map must implement the Comparable interface or be accepted by the specified comparator.

  • All keys must be mutually comparable or will cause the offending method or constructor invocation to throw a ClassCastException.

  • The ordering maintained by a sorted map must be consistent with equals

    • The behavior of a tree map is well-defined even if its ordering is inconsistent with equals; it just fails to obey the general contract of the Map interface.

  • All general-purpose sorted map implementation classes should provide four "standard" constructors:

    • A no argument constructor, which creates an empty sorted map.

    • A constructor with a single argument of type Comparator, which creates an empty sorted map sorted according to the specified comparator.

    • A constructor with a single argument of type Map, which creates a new map with the same key-value mappings as its argument, sorted according to the keys' natural ordering.

    • A constructor with a single argument of type SortedMap, which creates a new sorted map with the same key-value mappings and the same ordering as the input sorted map.

  • Such ranges submaps returned by various methods are half-open,

    • that is, they include their low endpoint but not their high endpoint (where applicable).

    • If you need a closed range (which includes both endpoints), and the key type allows for calculation of the successor of a given key:

      • SortedMap<String, V> sub = m.subMap(low, high+"\0");

    • We can also generate an open range (which contains neither endpoint). 

      • SortedMap<String, V> sub = m.subMap(low+"\0", high);


Important Methods of SortedMap Interface

  • comparator()

    • Returns the comparator used or null if this map uses the natural ordering of its keys.

  • entrySet()

    • Returns a Set view of this map.

  • firstKey()

    • Returns the first (lowest) key currently in this map.

  • headMap(K toKey)

    • Returns a view portion of this map whose keys are strictly less than toKey.

  • keySet()

    • Returns a Set view of the keys contained in this map.

  • lastKey()

    • Returns the last (highest) key currently in this map.

  • subMap(K fromKey, K toKey)

    • Returns a view of the portion of this map whose keys range from fromKey, inclusive, to toKey, exclusive.

  • tailMap(K fromKey)

    • Returns a view of the portion of this map whose keys are greater than or equal to fromKey.

  • values()

    • Returns a Collection view of the values contained in this map.

Quick Notes Finder Tags

Activities (1) advanced java (1) agile (3) App Servers (6) archived notes (2) Arrays (1) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (55) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exception (1) Exceptions (4) Exercise (1) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (5) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (9) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (11) Java Programmer 2 (7) Javascript Frameworks (1) Java SE Professional (1) JPA 1 - Module (6) JPA 1 - Modules (1) JSP (1) Legacy Java (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quartz Scheduler (1) Quizzes (17) RabbitMQ (1) references (2) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Site Usage Guidelines (1) Sorting (1) source code management (1) spring (4) spring boot (3) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) troubleshooting (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)