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.

 Intel Go Parallel Portal
 Internet.com eBook Library
 IBM Software Construction Toolbox
 Microsoft RIA Development Center
 Destination .NET
XML error: not well-formed (invalid token) at line 43
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%.

Google Hopes Chrome Will Help, Not Hurt Firefox
Remember Figlets? They're Back With Zend
Microsoft Readies an App Store Competitor?
Google: Chrome Browser Will Make Money
Sam Ramji: Microsoft's Man in Open Source
Google to Shake Up Browsers With Own Launch
Mozilla's Ubquity Mashup: For The Masses?
iPhone Users Just Want to Have Fun
Oops! I Fixed the Linux Kernel
Jim Zemlin: The New Center of Linux Gravity

Code Around C#'s Using Statement to Release Unmanaged Resources
Writing Functional Code with RDFa
BitLocker Brings Encryption to Windows Server 2008
Network Know-How: Exploring Network Algorithms
Create a Durable and Reliable WCF Service with MSMQ 4.0
The Baker's Dozen: 13 Tips for SQL Server 2008 and SSRS 2008
Book Excerpt: Microsoft Expression Blend Unleashed
Develop a Mobile RSS Feed the Easy Way
State of the Semantic Web: Know Where to Look
A 3D Exploration of the HTML Canvas Element

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
Intel PDF: Virtualization Delivers Data Center Efficiency
Intel eBook: Managing the Evolving Data Center
Microsoft Article: BitLocker Brings Encryption to Windows Server 2008
Symantec eBook: The Guide to E-Mail Archiving and Management
Microsoft Article: RODCs Transform Branch Office Security
Go Parallel Article: James Reinders on the Intel Parallel Studio Beta Program
Avaya Article: Advancing the State of the Art in Customer Service
Adobe Acrobat Connect Pro: Web Conferencing and eLearning Whitepapers
Avaya Article: Avaya AE Services Provide Rapid Telephony Integration with Facebook
Go Parallel Article: Getting Started with TBB on Windows
HP eBook: Storage Networking , Part 1
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
Intel Seminar: Efficiencies in Hardware/Software Virtualization
HP Webcast: Disaster Recovery Planning
Go Parallel Video: Performance and Threading Tools for Game Developers
HP Video: StorageWorks EVA4400 and Oracle
HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
IBM TCO eKIT: Your IT Budget is Under Attack, Get in Control
IBM Energy Efficiency eKIT: Learn How to Reduce Costs
30-Day Trial: SPAMfighter Exchange Module
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
Microsoft Article: Silverlight Streaming--Free Video Hosting for All
Featured Algorithm: Intel Threading Building Blocks - parallel_reduce
HP Demo: StorageWorks EVA4400
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES