|
SortedSet and SortedMap Made Easier with Two New Mustang Interfaces
by Anghel Leonard
For a Java developer is very important to know how to work with java.util collections. This is why there's no shortage of articles demonstrating the usefulness of java.util's classes and how to benefit from their "power". A Vector, Set, or Map can be found in almost any Java application, regardless of whether it's standalone or Web. Sometimes, these structures are used to simulate a LIFO (Last In First Out), a FIFO (First In First Out), or even a database (especially in Web applications). And different technologies like Struts or JSTL provides special support for iterating over a collection.
Here's another article about the java.util package. This one will show you how to use two new interfaces in this package: java.util.NavigableSet and java.util.NavigableMap. Both interfaces were introduced to help you when you're working with the SortedSet and SortedMap interfaces. Before this "update" the both were pretty rigid.
SortedSet and SortedMap are two interfaces that can help you a lot if you know how and where to use them. In your day-to-day develompent, you can use these collections to:
- Simulate a database in a Web application.
- Use them as Java Beans for storing complex objects structures.
- Populate session scoped variables.
- Provide multithreading support for your application.
- Pre-populate HTML forms with dates from beans.
- Create dynamic content.
- Simulate joins, like databases joins.
In order to use them, however, it's important to know how to manipulate the NavigableSet and NavigableMap interfaces. These two interfaces are there to help you easily iterate, extract, and modify a SortedSet/SortedMap.
In this article, you'll also see what main tasks these new interfaces enable with their fast access to any SortedSet/SortedMap element/entry.
Before using NavigableSet/NavigableMap, you'll need to install> Java Mustang on your machineat least the beta 2 version.
A Brief Introduction to SortedSet
SortedSet represents a group of elements that are provided automatically and automatically sorted in ascending way order using a default ordering or a defined Comparator. A simple SortedSet can be created in just two steps:
- Creating an instance of the
TreeSet class creates an empty SortedSet.
- Populate your
SortedSet by calling the Set.add method:
boolean add(E o):
o represents the element you want to add to the set (Strings, Doubles, Floats, etc.).
To traverse a SortedSet, you use an Iterator (returned by the Set.iterator method). To remove one element from the SortedSet, use the Set.remove method. To remove all elements, use the Set.removeAll method.
Listing 1 represents a simple SortedSet example. Figure 1 shows you the SortedSet created in the above application.

A Brief Introduction to SortedMap
SortedMap represents another group of entries automatically sorted by the keys in ascending order using a default ordering or a defined Comparator. You can create a simple SortedMap in only two steps:
- Create an empty
SortedMap by creating an instance of the TreeMap class.
- To populate the
SortedMap, call the Map.put method:
V put(K key,V value)
K represents the key and V represents the value (Strings, Doubles, Floats, etc.).
To traverse a SortedMap, use the SortedMap.keySet method (this returns a Set object) and the Set.iterator method. To remove an element from the SortedMap, use the Map.remove method.
Listing 2 shows a simple SortedMap example. You can see that the elements from the SortedSet created in the previous section are now the values of this SortedMap. Figure 2 shows the SortedMap created in the above application.

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.
|