TreeMap Class

TreeMap is a Red-Black tree based NavigableMap implementation.

 

Important properties of TreeMap

  1. The map is sorted according to the natural ordering of its keys, or by a Comparator provided at map creation time.

  2. Provides guaranteed log(n) time cost for the containsKey, get, put and remove operations.

    • Algorithms are adaptations of those in Cormen, Leiserson, and Rivest's Introduction to Algorithms.

  3. Ordering maintained by a tree map must be consistent with equals if this sorted map is to correctly implement the Map interface.

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

  4. Is not synchronized.

    • Could synchronize on some object that naturally encapsulates the map or use the Collections.synchronizedSortedMap method.

      • This is best done at creation time.

  5. The iterators returned by the iterator method of the collections returned by all of this class's "collection view methods" are fail-fast.

    • However the fail-fast behavior of an iterator cannot be guaranteed.

  6. All Map.Entry pairs returned by methods in this class and its views represent snapshots of mappings at the time they were produced.

    • They do not support the Entry.setValue method.

 

Important methods of TreeMap

Please refer to the API summary for SortedMap and NavigableMap, as most methods are implemented from thos interfaces.

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)