advertisement
javaboutique
Search Tips
Articles  |   Tutorials  |   Reviews  |   Tools  |   by Category  |   by Date  |   by Name  |   Submit  |   Source  |   Forums  |  
javaboutique
Browse DevX


Partners & Affiliates











advertisement

Tutorials : Parsing with StAX in JDK 6.0 :

NavigableMap

The NavigableMap is an interface that provides methods dedicated to access entries of an SortedMap. Table 2 splits these methods by their nature.

Order methods

Polls methods

LHCF methods

Submap methods

descendingMap

firstEntry

lowerEntry

headMap

descendingKeySet

lastEntry

lowerKey

subMap

 

pollFirstEntry

higherEntry

tailMap

 

pollLastEntry

higherKey

 

 

 

ceilingEntry

 

 

 

ceilingKey

 

 

 

floorEntry

 

 

 

floorKey

 

Table 1. The NavigableMap is an interface that provides methods dedicated to access entries of an SortedMap.

Let's go through these items:

  • Order methods are used for create descending views of a SortedMap.
    • public NavigableMap descendingMap() obtains a reverse order view of the current map.
    • public NavigableSet descendingKeySet() obtains a reverse order navigable set view of the keys in the current map.

    Note: In both cases, the changes to the map are reflected in the descending result and vice-versa.

    Listing 7 shows you how to create a NavigableMap and how to use the descendingKeySet method—in the same manner you can use the descendingMap method.

  • Polls methods are used to extract elements from a SortedMap.
    • public java.util.Map.Entry firstEntry() returns the entry with the least key from the current SortedMap.
    • public java.util.Map.Entry lastEntry() returns the entry with the greatest key from the current SortedMap.
    • public java.util.Map.Entry pollFirstEntry() removes and returns the entry with the least key from the current SortedMap.
    • public java.util.Map.Entry pollLastEntry() removes and returns the entry with the greatest key from the current SortedMap.

    Listing 8 demonstrates how to use the above methods. Figure 7 shows a graphical view of the application shown in Listing 8.


  • LHCF methods include the lowerKey/lowerEntry (L), higherKey/higherEntry (H), ceilingKey/ ceilingEntry (C) and floorKey/floorEntry (F) methods.
    • public java.lang.Object lowerKey(java.lang.Object key) returns the greatest key "<" than the given key (null if there is no such key).
    • public java.lang.Object higherKey(java.lang.Object key) returns the least key ">" than the given key (null if there is no such key).
    • public java.lang.Object ceilingKey(java.lang.Object key) returns the least key ">=" to the given key (null if there is no such key).
    • public java.lang.Object floorKey(java.lang.Object key) returns the greatest key "<=" to the given key (null if there is no such key).

    The lowerEntry, higherEntry, ceilingEntry, and floorEntry are similar to the above corespondents, but they are used for entries.

    Listing 9 shows an example of how to use the above XXXKey methods (the tested key was "9.0"). Figure 8 shows a graphical view of the application in Listing 9.


    Listing 10 is an example of using the above XXXEntry methods (the key of the tested entry was "9.0"). Figure 9 shows a graphical view of the application in Listing 10.


  • Subset methods used to extract a submap from a SortedMap.
    • public NavigableMap headMap(java.lang.Object toKey,boolean inclusive) returns a submap-view of the current map whose keys are less than (or equal to, if inclusive is true) toKey. Another headMap method is: public java.util.SortedMap headMap(java.lang.Object toKey).
    • public NavigableMap subMap(java.lang.Object fromKey, boolean fromInclusive, java.lang.Object toKey, boolean toInclusive) returns a submap-view of the current map whose keys range is [fromKey,toKey). By modifying the fromInclusive and toInclusive arguments you can obtain the following ranges: [fromKey,toKey], (fromKey,toKey), and (fromKey,toKey]. Another subMap method is: public java.util.SortedMap subMap(java.lang.Object fromKey,java.lang.Object toKey).
    • public NavigableMap tailMap(java.lang.Object fromKey,boolean inclusive) returns a submap-view of this map whose keys are greater than (or equal to, if inclusive is true) fromKey. Another tailMap method is: public java.util.SortedMap tailMap(java.lang.Object fromKey).

    In all cases, the returned submap is backed by the current map, so changes in the returned submap are reflected in this map, and vice-versa.

    Listing 11 demonstrates how to use these methods. Figure 10 shows a graphical view of the application in Listing 11.


Food for Thought

Generally speaking, collection mechanisms like SortedSet/SortedMap, Vector, Map, or any other collection, must also provide a strong mechanisms for their use in the same "package." If it's difficult to use, most developers will try something else. This was the case with SortedSet/SortedMap before J2SE Mustang—they were two interfaces without strong support for manipulation.

So the question is: "Why weren't java.util.NavigableSet and java.util.NavigableMap implemented at the same time as SortedSet and SortedMap?"

Home / Articles / SortedSet and SortedMap Made Easier with Two New Mustang Interfaces / 1 / 2 / 3 / Next Page

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.

 Microsoft Visual Studio 2010 Showcase
 Avaya Developer Showcase
 MSDN Spotlight
 PHP for Windows Showcase
XML error: undefined entity at line 39
advertisement
Receive Articles via our XML/RSS feed
Receive Articles via our XML/RSS feed

JavaBytes
Internet Cyclone
This powerful, easy-to-use, internet optimizer is for Windows 95, 98, ME, NT, 2000 and XP. It's designed to automatically optimize your Windows settings, boosting your Internet connection up to 200%.

Windows 7: From Beta to Final Code in One Year
Google Shows Off Chrome OS, Releases Source
Microsoft Shows Off Silverlight 4, IE9 Plans
Metasploit Expands Vulnerability Test Framework
HyperCard Reborn?
Fedora 12 Takes Aim at Linux Networking
Top Supercomputer Nearly Doubles in Speed
Fedora 12 Linux Tackles Virtualization
Apple Gives iPhone Developers App Status Tracker
Novell Sets OpenSUSE 11.2 Free

Creating Custom Export Filters for StarOffice with XSLT
WPF Wonders: Using DataTemplates
Crystal Reports Family Offers Options for Developers
Avaya Aura Session Manager video
Avaya Aura Overview video
Exploring HTML 5's Audio/Video Multimedia Support
Overriding Virtual Functions? Use C++0x Attributes to Avoid Bugs.
Understanding the Cloud Computing Security Vulnerabilities
Cisco and IBM Target a Greener World
Upgrade to Visual Studio 2010 with the Ultimate Offer

Advertising Info  |   Member Services  |   Contact Us  |   Help  |   Feedback  |   Site Map  |   Network Map  |   About

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs