ConcurrentSkipListMap is one of the class which implements NavigableMap.

This class implement all of the optional methods of the Map and Iterator interfaces. Like most other concurrent collections, this class does not permit the use of null keys or values because some null return values cannot be reliably distinguished from the absence of elements. NavigableMap class is similar to NavigableSet. In NavigableMap we use methods to return the key value pair like navMap.put(1, "sunday") whereas in NavigableSet we use methods to return values.



Let's have a look at the example.










import java.util.*;

import java.util.concurrent.*;


public class UseNavigableMap

{

 public static void main (String[] arg)

 {

   System.out.println("Example of Navigable Map ");

   NavigableMap navmap=new ConcurrentSkipListMap();

    navmap.put(1, "Sunday");  

    navmap.put(2, "Monday");

    navmap.put(3, "Tuesday");

    navmap.put(4, "Wednesday");

    navmap.put(5, "Thursday");

    navmap.put(6, "Friday");

    navmap.put(7, "Saturday");

 System.out.println("Data in the navigable map: " + navmap.descendingMap()+"\n");

//Retrieving first data

    System.out.println("First data: " + navmap.firstEntry()+"\n");

    //Retrieving last data

    System.out.print("Last data: " + navmap.lastEntry()+"\n");

    //Retrieving the nearest less than or equal to the given key

    System.out.println("Nearest less than or equal to the given key: " + navmap.floorEntry(5)+"\n");

    //Retrieving the greatest key strictly less than the given key

    System.out.println("Retrieving the greatest key strictly less than 

                         the given key: "
 + navmap.lowerEntry(3));

    //Retrieving a key-value associated with the least key strictly greater than the given key

    System.out.println("Retriving data from navigable map greater than the given key:    " + navmap.higherEntry(5)+"\n");

    //Removing first

    System.out.println("Removing First: " + navmap.pollFirstEntry());

    //Removing last

    System.out.println("Removing Last: " + navmap.pollLastEntry()+"\n");

    //Displaying all data

    System.out.println("Now data: " + navmap.descendingMap());

  }

}






NOTE:

The following program helps you in inserting, removing and retrieving the data from the NavigableMap. It uses the put() method to add the element, firstEntry() method to retrieve the data at first and lastEntry() methods to retrieve the  last position from the NavigableMap. The descendingMap() method represents all data to the NavigableMap in descending order. 


 


 











 


import java.util.*;
import java.util.concurrent.*;
class NavigableMapExample
{
public static void main(String[] args)
{

NavigableMap nm = new ConcurrentSkipListMap();
nm.put(1,"One");
nm.put(2,"Two");
nm.put(3,"Three");
nm.put(4,"Four");
nm.put(5,"Five");
/* Retrieves the key,value pair immediately lesser than the given key */
Map.Entry ae = nm.lowerEntry(5);
/* Map.Entry is a Static interface nested inside Map interface,just use to hold key and value */
System.out.println("Key" + ae.getKey());
System.out.println("Value"+ ae.getValue());
/* Retrieves key,value pairs equal to and greater then the given key */
SortedMap mm = nm.tailMap(3);
Set s = mm.keySet();
System.out.println("Tail elements are");
for(Integer i:s)
{
System.out.println("Key "+ i + "Value "+ mm.get(i));
}
}
}

Output:

Key 4 Value Four

Tail elements are
Key 3 Value Three
Key 4 Value Four
Key 5 Value Five

 


Notes :  
1. floorEntry method retrieves less than or equal to the givenkey (or) null.
2. lowerEntry method retrieves always less than the givenkey (or) null.
3. headMap method retrieves all elements less than the givenkey.
4. tailMap method retrieves all elements greater than or equal to the givenkey.




 

                    

Copyright © 2012 VisualBuilder. All rights reserved