Java TreeMap – floorKey() ceilingKey()

Java TreeMap – floorKey() ceilingKey()

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.

📋 Aquí podrás encontrar✍
  1. Qué es floorKey() y ceilingKey()
  2. Cómo utilizar floorKey() y ceilingKey()
  3. Ejemplos de codigos o comandos
  4. Conclusión
  5. Preguntas frecuentes
    1. ¿Cuál es la complejidad de tiempo de ejecución de floorKey() y ceilingKey()?
    2. ¿Qué sucede si la clave pasada como argumento a floorKey() o ceilingKey() no existe en el mapa?
    3. ¿Hay algún otro método similar a floorKey() y ceilingKey() en TreeMap?

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 = new 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 = new 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 = new 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

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir