El método subMap() de la interfaz SortedMap en Java se usa para devolver una vista de la parte de este mapa cuyas claves van desde fromKey , inclusive, hasta toKey , exclusiva.
- El mapa devuelto por este método está respaldado por este mapa, por lo que los cambios en el mapa devuelto se reflejan en este mapa y viceversa.
- El mapa devuelto por este método admite todas las operaciones de mapa opcionales que admite este mapa.
Nota : el mapa devuelto por este método arrojará una IllegalArgumentException si se intenta insertar una clave fuera de su rango.
Sintaxis :
SortedMap<K, V> subMap(K fromKey, K toKey)
Donde, K es el tipo de clave mantenida por este Conjunto y V es el tipo de valores asociados a la Clave.
Parámetros : esta función acepta dos parámetros fromKey y toKey que representan el punto final bajo (inclusive) y el punto final alto (exclusivo) respectivamente de las claves en el mapa devuelto.
Valor devuelto : Devuelve una vista de la porción de este mapa cuyas claves van desde fromKey hasta toKey .
excepción :
- ClassCastException : si el parámetro fromKey no es compatible con el comparador de este mapa (o, si el mapa no tiene comparador, si fromKey no implementa Comparable).
- NullPointerException : si el parámetro fromKey es nulo y este mapa no permite claves nulas.
- IllegalArgumentException : si este mapa en sí tiene un rango restringido y fromKey se encuentra fuera de los límites del rango
Los siguientes programas ilustran el método anterior:
Programa 1 :
// A Java program to demonstrate // working of SortedSet import java.util.*; public class Main { public static void main(String[] args) { // Create a TreeSet and inserting elements SortedMap<Integer, String> mp = new TreeMap<>(); // Adding Element to SortedSet mp.put(1, "One"); mp.put(2, "Two"); mp.put(3, "Three"); mp.put(4, "Four"); mp.put(5, "Five"); // Returning the key ranging // between 2 and 5 System.out.print("Elements in range from 2 to 5 in the map is : " + mp.subMap(2, 5)); } }
Elements in range from 2 to 5 in the map is : {2=Two, 3=Three, 4=Four}
Programa 2 :
// A Java program to demonstrate // working of SortedSet import java.util.*; public class Main { public static void main(String[] args) { // Create a TreeSet and inserting elements SortedMap<String, String> mp = new TreeMap<>(); // Adding Element to SortedSet mp.put("One", "Geeks"); mp.put("Two", "For"); mp.put("Three", "Geeks"); mp.put("Four", "Code"); mp.put("Five", "It"); // Returning the key range between D and Z System.out.print("Key in range from D to Z in the map is : " + mp.subMap("D", "Z")); } }
Key in range from D to Z in the map is : {Five=It, Four=Code, One=Geeks, Three=Geeks, Two=For}
Referencia : https://docs.oracle.com/javase/10/docs/api/java/util/SortedMap.html#subMap(K)