<pedrocorreia.net ⁄>
 

<Navigables: The new features in Java 6 SE ⁄ >




clicks: 3051 3051 2006-10-16 2006-10-16 goto programacao myNews programacao  Bookmark This Bookmark This


Suppose you have a collection of objects and you want to select a specific range of them. For example, in a collection of integers, selecting all numbers less than 1000. Your first way is of course writing a method to do this job. This method will iterate over all objects and apply the condition to them, acquiring the new collection in O(n) time. In addition to long execution time for big collections, you may have a design problem in where placing the new method. What would happen if we had such method in Collection class (or its children) and could benefit from the internal structure of that collection to reduce running-time?

What are navigables?

It seems that developers of Java in Sun have recognized this need. There are two new interfaces in Java 6 SE called NavigableMap and NavigableSet which facilitate "navigating" through collections. NavigableSet extends SortedSet and currently is implemented by TreeSet and concurrentSkipListSet (a new class in Java collection). It includes methods to return iterators in ascending and descending orders, as well as methods that return a sorted or navigable set of a special portion of data. It has also methods that return the element with the given condition. For example in a TreeSet of Doubles, to find the biggest element less than 10.5 we can write:



este é só um excerto do artigo, para aceder ao artigo completo, clique no link em baixo:
this is just a small excerpt from the article, to access the full article please click in the link below:

http://www.devx.com/Java/Article/33872/1954




Subscribe News RSS  Subscribe News Updates by E-mail





myNews <myNews show="rand" cat="programacao" ⁄>

RouterJs: easy routing for your ajax Web applications new ...

RouterJs is a simple router for your ajax web apps. It's build upon History.js which means that Rout (...)

clicks: 15895 15895 2012-05-14 2012-05-14 goto url (new window) haithembelhaj.g... goto myNews programacao


Backbone computed properties new ...

This gist shows one way to implement read- and write-enabled computed properties on a Backbone Model (...)

clicks: 15719 15719 2012-05-13 2012-05-13 goto url (new window) https://gist.gi... goto myNews programacao


Android Query new ...

Android-Query (AQuery) is a light-weight library for doing asynchronous tasks and manipulating UI el (...)

clicks: 15946 15946 2012-05-12 2012-05-12 goto url (new window) code.google.com... goto myNews programacao


HTML5 jQuery Paint Plugin new ...

Websanova Paint is a HTML5 canvas based jQuery plugin. It allows you to free paint on a canvas area (...)

clicks: 26457 26457 2012-05-12 2012-05-12 goto url (new window) websanova.com/t... goto myNews programacao


Create Instagram Filters With PHP new ...

In this tutorial, I'll demonstrate how to create vintage (just like Instagram does) photos with PHP (...)

clicks: 15388 15388 2012-05-12 2012-05-12 goto url (new window) net.tutsplus.co... goto myNews programacao


Real-time Applications With Node.js and Socket.IO new ...

Hey everyone! Sorry about the long pause since the last blog post, life has been quite hectic for th (...)

clicks: 15787 15787 2012-05-11 2012-05-11 goto url (new window) codingcookies.c... goto myNews programacao


Sass vs. LESS vs. Stylus: Preprocessor Shootout new ...

CSS3 preprocessors are languages written for the sole purpose of adding cool, inventive features to (...)

clicks: 15112 15112 2012-05-11 2012-05-11 goto url (new window) net.tutsplus.co... goto myNews programacao


15 Handpicked jQuery Drop Down Menus Tutorials new ...

Here we are presenting another brilliant collection of 15 jQuery navigation menu that you can downlo (...)

clicks: 14926 14926 2012-05-10 2012-05-10 goto url (new window) smashingapps.co... goto myNews programacao