NavigableSet and NavigableMap, a good improvement to TreeSet and TreeMap
NavigableXXX were introduced from JDK 1.6 with the aim of making traversing faster, easier and power full in TreeXXX.
You must be clear with when to use TreeSet and TreeMap in your project after reading Java Collection Framework Doodle Cheat sheet.
Syntax:
List<Integer> list = Arrays.asList(3, 2, 4, 1, 5);
NavigableSet<Integer> ns = new TreeSet<Integer>(list);
Iterator<Integer> itr = ns.descendingIterator()
while (itr.hasNext()) {
int m = itr.next();
:
}
Points to be noticed
- Range selection : NavigableXXX are good for range selection. Like names from amit to arti, decimals from 45 to 90 etc.
- Useful navigational methods
- Useful view methods
- All above methods are available in NavigableMap too.
E ceiling(E e) – Returns least element >= to given element, or null
E higher(E e) – Returns least element > given element, or null
E floor(E e) – Returns greatest element <= given element, or null
E lower(E e) – Returns greatest element < given element, or null
E pollFirst() – Gets and removes the first (lowest) element, or null
E pollLast() – Gets and removes the last (highest) element, or null
NavigableSet
NavigableSet
NavigableSet
NavigableSet
Iterator
ceilingEntry(K key)
ceilingKey(K key)
higherEntry(K key)
higherKey(K key)
floorEntry(K key)
floorKey(K key)
lowerEntry(K key)
lowerKey(K key)
firstEntry()
pollFirstEntry()
lastEntry()
pollLastEntry()
descendingMap()
descendingKeySet()
subMap(K, boolean, K, boolean)
headMap(K toKey, boolean inclusive)
tailMap(K fromKey, boolean inclusive)
