![¿Por qué mi laptop no se conecta al punto de acceso móvil?](https://trspos.com/wp-content/uploads/laptop-no-conecta-el-punto-de-acceso-movil-400x267.jpg)
Java TreeMap – floorKey() ceilingKey()
![Java TreeMap – floorKey() ceilingKey()](https://trspos.com/wp-content/uploads/java-treemap-floorkey-techo-key.jpg)
En Java, un TreeMap es una colección de datos ordenados, donde cada elemento del mapa es una pareja clave-valor. Cada clave se asigna a un valor correspondiente. La clase TreeMap se implementa mediante árboles binarios balanceados y asegura que las operaciones básicas como insertar, eliminar y buscar se realicen en tiempo logarítmico.
En este artículo, nos enfocaremos en dos métodos específicos de la clase TreeMap: floorKey() y ceilingKey(). La función de estos métodos es buscar el siguiente elemento más bajo y el siguiente elemento más alto en el mapa que coincida con la clave dada.
Qué es floorKey() y ceilingKey()
En TreeMap, floorKey() es una función que devuelve la clave más grande menor o igual a la clave dada, o null si no hay clave más pequeña. Por otro lado, ceilingKey() devuelve la clave más pequeña mayor o igual a la clave dada, o null si no hay ninguna clave más grande. Ambas funciones tienen un tiempo de ejecución logarítmico.
Aquí está el formato del método:
public K floorKey(K key)
public K ceilingKey(K key)
Donde "K" representa el tipo de clave.
Cómo utilizar floorKey() y ceilingKey()
La utilización de estos métodos es muy sencilla. Primero, se debe crear un objeto TreeMap y añadir elementos a él con la clave y valor correspondiente. Luego, para obtener el siguiente elemento más alto o bajo, se llama a los métodos con la clave previamente definida como argumento.
A continuación, se muestra un ejemplo de cómo utilizar el método floorKey() en un TreeMap:
TreeMap
map.put(1, "uno");
map.put(2, "dos");
map.put(3, "tres");
map.put(4, "cuatro");
Integer key = map.floorKey(3);
System.out.println(key);
// Output: 3
En el ejemplo anterior, se creó un mapa con claves enteras y se agregaron elementos. Luego, se llamó al método floorKey() con argumento 3, lo que devolvió la clave más alta menor o igual a 3, que es 3 mismo.
Siguiente, aquí hay un ejemplo para el método ceilingKey():
TreeMap
map.put(1, "uno");
map.put(2, "dos");
map.put(3, "tres");
map.put(4, "cuatro");
Integer key = map.ceilingKey(3);
System.out.println(key);
// Output: 3
En este ejemplo, se aplica el método ceilingKey() en el mapa y se pasa 3 como argumento. Como resultado, se imprime 3 porque es la clave más baja mayor o igual a 3.
Ejemplos de codigos o comandos
Aquí hay un ejemplo de cómo eliminar un elemento específico en un TreeMap utilizando el método remove():
TreeMap
map.put("A", "Apple");
map.put("B", "Ball");
map.put("C", "Cat");
map.remove("B");
En este ejemplo, se está eliminando la clave "B" del TreeMap que contiene los valores de "Apple", "Ball" y "Cat".
Conclusión
Los métodos floorKey() y ceilingKey() son herramientas útiles que ofrecen las clases de colección en Java para buscar elementos en un TreeMap. La implementación de estos métodos es bastante sencilla y útil para los desarrolladores de Java. Si necesita buscar elementos más altos o más bajos en un mapa, no dude en utilizar estas funciones.
Preguntas frecuentes
¿Cuál es la complejidad de tiempo de ejecución de floorKey() y ceilingKey()?
El tiempo de ejecución de ambos métodos es logarítmico.
¿Qué sucede si la clave pasada como argumento a floorKey() o ceilingKey() no existe en el mapa?
Si la clave no existe en el mapa, ambos métodos devolverán null.
¿Hay algún otro método similar a floorKey() y ceilingKey() en TreeMap?
Sí, la clase TreeMap también tiene los métodos lowerKey() y higherKey() que devuelven la clave más baja menor que la clave dada y la clave más alta mayor que la clave dada, respectivamente.
Deja una respuesta