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 RIA Development Center
 IBM Rational Resource Center
 Destination .NET
XML error: not well-formed (invalid token) at line 33
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%.

Free VMware Server 2.0 Now Release Candidate
Linux Player Xandros Grabs Storied Rival Linspire
Hey Enterprise: Here Comes the 3G iPhone
MySpace Opens Profile Portability API
Microsoft Jumps Into Virtualization Fray
Eclipse Ganymede Makes It Easier for Devs
Open Source Nokia a Threat to Microsoft, Google?
Salesforce, Google Head for 2nd on Apps
HP Open Sources Unix File System for Linux
Red Hat Opens Its Network to Space

Build a Generic Histogram Generator for SQL Server
Beyond XML and JSON: YAML for Java Developers
Mastering the Windows Mobile Emulators
Avaya AE Services Provide Rapid Telephony Integration with Facebook
Featured Algorithm: Intel Threading Building Blocks: parallel_reduce
Getting Started with Windows Live Admin Center
Eight Key Practices for ASP.NET Deployment
Java ME User Interfaces: Do It with LWUIT!
Talking VPro: Transcript
Bringing Semantic Technology to the Enterprise

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



JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Solutions
Whitepapers and eBooks
IBM eBook: Planning a Service Oriented Architecture
IBM eBook: Choosing the Right Architecture--What It Means for You and Your Business
Microsoft Article: Will Hyper-V Make VMware This Decade's Netscape?
Avaya Article: Using Intelligent Presence to Create Smarter Business Applications
Intel Go Parallel Article: Getting Started with TBB on Windows
Microsoft Article: 7.0, Microsoft's Lucky Version?
Avaya Article: How to Feed Data into the Avaya Event Processor
IBM Article: Developing a Software Policy for Your Organization
Microsoft Article: Managing Virtual Machines with Microsoft System Center
Intel Go Parallel Article: Intel Threading Tools and OpenMP
HP eBook: Storage Networking , Part 1
Microsoft Article: Solving Data Center Complexity with Microsoft System Center Configuration Manager 2007
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
HP Video: StorageWorks EVA4400 and Oracle
HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
Microsoft Silverlight Video: Creating Fading Controls with Expression Design and Expression Blend 2
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
Red Gate Download: SQL Toolbelt and free High-Performance SQL Code eBook
Iron Speed Designer Application Generator
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
Silverlight 2 App and Walkthrough: Leverage Silverlight 2 with SQL Server and XML
IBM Article: Enterprise Search--Do You Know What's Out There?
HP Demo: StorageWorks EVA4400
Microsoft Article: The Progress and Promise of Deep Zoom
Microsoft How-to Article: Get Going with Silverlight and Windows Live
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES