Open In App

Java.util.TreeMap.floorEntry() and floorKey() in Java

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

Finding greatest number less than given value is used in many a places and having that feature in a map based container is always a plus. Java.util.TreeMap also offers this functionality using floor() function. There are 2 variants, both are discussed below.

1. floorEntry() : It returns a key-value mapping associated with the greatest key less than or equal to the given key, or null if there is no such key.

Parameters:
key : This is the key to be matched.
Return Value:
It returns an entry with the greatest key less than or equal to key,
or null if there is no such key.
Exception:
ClassCastException : This exception is thrown if the specified
key cannot be compared with the keys currently in the map.
NullPointerException : This exception is thrown if the specified
key is null and this map uses natural ordering, or its comparator does not permit null keys.




// Java code to demonstrate the working
// of floorEntry()
import java.io.*;
import java.util.*;
public class floorEntry {
    public static void main(String[] args)
    {
  
        // Declaring the tree map of Integer and String
        TreeMap<Integer, String> tmp = new TreeMap<Integer, String>();
  
        // assigning the values in the tree map
        // using put()
        tmp.put(10, "ten");
        tmp.put(7, "seven");
        tmp.put(19, "nineteen");
        tmp.put(3, "three");
  
        // use of floorEntry()
        // displays the floor value of 6
        // prints 3=three
        System.out.println("The greatest key-value less than 6 is : " 
        + tmp.floorEntry(6));
    }
}


Output:

The greatest key-value less than 6 is : 3=three

2. floorKey() : It returns the greatest key less than or equal to the given key, or null if there is no such key.

Parameters:
key : This is the key to be matched.
Return Value:
It returns an entry with the greatest key less than or equal to key, or
null if there is no such key.
Exception:
ClassCastException : This exception is thrown if the specified
key cannot be compared with the keys currently in the map.
NullPointerException : This exception is thrown if the specified key
is null and this map uses natural ordering, or its comparator does not permit null keys.




// Java code to demonstrate the working
// of floorKey()
import java.io.*;
import java.util.*;
public class floorKey {
    public static void main(String[] args)
    {
  
        // Declaring the tree map of Integer and String
        TreeMap<Integer, String> tmp = new TreeMap<Integer, String>();
  
        // assigning the values in the tree map
        // using put()
        tmp.put(10, "ten");
        tmp.put(7, "seven");
        tmp.put(19, "nineteen");
        tmp.put(3, "three");
  
        // use of floorKey()
        // displays the floor key of
        // prints 3
        System.out.println("The greatest key less than 6 is : "
        + tmp.floorKey(6));
    }
}


Output:

The greatest key less than 6 is : 3

Practical Application : The possible applications of this functions are aplenty. Starting from maximum distance with given petrol or possible dishes with given ingredients. Former one is discussed in code below.




// Java code to demonstrate the application
// of floorKey() and floorEntry
import java.io.*;
import java.util.*;
public class floorappli {
    public static void main(String[] args)
    {
  
        // Declaring the tree map of Integer and String
        TreeMap<Integer, String> destin = new TreeMap<Integer, String>();
  
        // assigning the km with destination
        // from beginning
        // using put()
        destin.put(10, "Delhi");
        destin.put(7, "Gurgaon");
        destin.put(19, "Noida");
        destin.put(3, "Ring Road");
  
        // Entering the available Petrol (consider 1km/litre)
        int petr = 12;
  
        // Maximum place you can reach
        System.out.println("The maximum place you can reach with given petrol : "
        + destin.floorEntry(petr));
    }
}


Output:

The maximum place you can reach with given petrol : 10=Delhi



Last Updated : 24 Nov, 2017
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads