¿Cómo eliminar la primera entrada o la última entrada de Java TreeMap?

TreeMap es la clase de implementación de lainterfaz Map . Permite que los objetos se clasifiquen de acuerdo con las claves y la clasificación puede ser una clasificación natural o puede usar un comparador. El orden de inserción tampoco se conserva en Tree Map.

Sintaxis:

TreeMap<String,Integer> map = new TreeMap<>();

En el siguiente ejemplo, crearemos un mapa de árbol e insertaremos registros en él usando el método put(). Como el mapa de árbol ordena los registros en función de las claves, puede ver que la salida está ordenada por claves de la a a la z. Para iterar sobre el Tree Map iteramos sobre todas las claves del Tree Map usando el método key Set() que proporciona todas las claves del Tree Map en un conjunto.

Implementación:

Java

// Java Program to remove the first entry
// or last entry from TreeMap
import java.io.*;
import java.util.TreeMap;
import java.util.Set;
 
class GFG {
 
    public static void main(String[] args)
    {
 
        // treemap with keys as string and
        // values of type integer
        TreeMap<String, Integer> gfg = new TreeMap<>();
 
        // adding values to treemap
        gfg.put("interviews", 97);
        gfg.put("fang", 86);
        gfg.put("competitive programming", 95);
        gfg.put("dsa", 99);
        gfg.put("java", 99);
        gfg.put("c++", 99);
 
        // iterating over the treemap
        for (String key : gfg.keySet()) {
            System.out.println(key + "," + gfg.get(key));
        }
    }
}
Producción

c++,99
competitive programming,95
dsa,99
fang,86
interviews,97
java,99

Eliminando la primera y la última entrada de TreeMap :

1. Usando los métodos pollFirstEntry() y pollLastEntry():

TreeMap tiene dos métodos que pueden eliminar la primera y la última entrada. pollFirstEntry() para eliminar la primera entrada y para la última entrada usamos pollLastEntry() .

Sintaxis:

mapObject.pollFirstEntry();
mapObject.pollLastEntry();

Tipo de devolución: el tipo de devolución de ambos métodos es el objeto de entrada eliminado del mapa.

Primero, crearemos un TreeMap y agregaremos registros usando el método put() y luego imprimiremos todos los registros usando para cada bucle. Para imprimir, usaremos todas las claves que podamos obtener usando el método keySet(). Ahora usaremos pollFirstEntry() y pollLastEntry() en TreeMap para eliminar la primera y la última entrada. Después de eliminar la primera y la última entrada, volveremos a iterar sobre el TreeMap usando el ciclo for each.

Implementación:

Java

// Java Program remove the first entry
// or last entry from the TreeMap
import java.io.*;
import java.util.TreeMap;
import java.util.Set;
 
class GFG {
    public static void main(String[] args)
    {
 
        // treemap with keys as string and values of type
        // integer
        TreeMap<String, Integer> gfg = new TreeMap<>();
 
        // adding values to tree map
        gfg.put("Interviews", 97);
        gfg.put("fang", 86);
        gfg.put("competitive programming", 95);
        gfg.put("dsa", 99);
        gfg.put("java", 99);
        gfg.put("c++", 99);
 
        System.out.println(
            "-------before removing first and last entry-------");
 
        // iterating over the treemap in java
        for (String key : gfg.keySet()) {
            System.out.println(key + "," + gfg.get(key));
        }
 
        // removing and printing first entry
        System.out.println(
            "----printing the first removed entry----");
 
        System.out.println(gfg.pollFirstEntry());
 
        // removing and printing last entry
        System.out.println(
            "----printing the last removed entry");
 
        System.out.println(gfg.pollLastEntry());
 
        System.out.println(
            "-------after removing first and last entry-------");
 
        // iterating over the treemap
        for (String key : gfg.keySet()) {
            System.out.println(key + "," + gfg.get(key));
        }
    }
}
Producción

-------before removing first and last entry-------
Interviews,97
c++,99
competitive programming,95
dsa,99
fang,86
java,99
----printing the first removed entry----
Interviews=97
----printing the last removed entry
java=99
-------after removing first and last entry-------
c++,99
competitive programming,95
dsa,99
fang,86

2. Usando lastKey() y firstKey() :

Sintaxis:

map.remove(map.lastKey());
map.remove(map.firstKey());

Acercarse:

Primero, crearemos el TreeMap e insertaremos un registro en él usando un método put(). Ahora imprimiremos todos los registros usando para cada bucle y la salida estará en el orden de clasificación de las claves de la a a la z. Para eliminar la primera entrada y la última entrada, utilizaremos el método remove(key). En el método remove, necesitamos pasar la clave como argumento. Ahora, si de alguna manera obtenemos la primera y la última clave, podremos eliminar la primera y la última entrada. TreeMap nos brinda dos métodos de este tipo que pueden darnos la primera y la última clave, que es firstKey() y lastkey(), después de obtener las claves, pasaremos estas claves en el método remove() y luego imprimiremos nuevamente los valores presentes en el mapa de árbol usando para cada bucle.

Implementación:

Java

// Java Program to remove the first entry
// or last entry from the TreeMap
import java.io.*;
import java.util.TreeMap;
import java.util.Set;
 
class GFG {
    public static void main(String[] args)
    {
 
        // treemap with keys as string and values of type
        // integer
        TreeMap<String, Integer> gfg = new TreeMap<>();
 
        gfg.put("Interviews", 97);
        gfg.put("fang", 86);
        gfg.put("competitive programming", 95);
        gfg.put("dsa", 99);
        gfg.put("java", 99);
        gfg.put("c++", 99);
 
        // iterating over the treemap in java
        System.out.println(
            "-------before removing first and last entry-------");
 
        for (String key : gfg.keySet()) {
            System.out.println(key + "," + gfg.get(key));
        }
 
        // removing first entry through firstKey()
        gfg.remove(gfg.firstKey());
 
        // removing last entry through lastKey()
        gfg.remove(gfg.lastKey());
 
        System.out.println(
            "-------after removing first and last entry-------");
 
        // iterating over the treemap
        for (String key : gfg.keySet()) {
            System.out.println(key + "," + gfg.get(key));
        }
    }
}
Producción

-------before removing first and last entry-------
Interviews,97
c++,99
competitive programming,95
dsa,99
fang,86
java,99
-------after removing first and last entry-------
c++,99
competitive programming,95
dsa,99
fang,86

3. Usando flujos():

Aquí obtendremos la primera y la última clave usando transmisiones y luego llamaremos al método de eliminación.

Sintaxis:

firsrkey = map.entrySet().stream().findFirst().get()
treemap.remove(firstkey);

lastkey = map.entrySet().stream().skip(map.size()-1).findFirst().get()
treemap.remove(key);

Acercarse:

Aquí crearemos un TreeMap y agregaremos registros usando el método put() y luego imprimiremos cada registro usando for each loop. Ahora usaremos flujos para obtener la primera y la última clave. Para la primera clave, obtendremos un conjunto de todas las claves usando el método keySet() y luego usaremos stream() en él, ahora para obtener el primer elemento (un registro) de la secuencia usaremos findFirst( ) y get() para obtener la primera clave, luego pase esto en el método de eliminación para eliminar la primera entrada (un registro).

Para la última clave, volveremos a usar keySet() para todas las claves y luego transmitir(). Ahora omitiremos los n-1 elementos porque si omitimos los primeros n-1 registros finalmente llegaremos al último. registro. Para obtener el n (número de registros totales o tamaño del TreeMap) usamos el método size().

Implementación:

Java

// Java Program remove the first entry
// or last entry from the TreeMap
import java.io.*;
import java.util.TreeMap;
import java.util.Set;
 
class GFG {
    public static void main(String[] args)
    {
 
        // treemap with keys as string and values of type
        // integer
        TreeMap<String, Integer> gfg = new TreeMap<>();
 
        gfg.put("Interviews", 97);
        gfg.put("fang", 86);
        gfg.put("competitive programming", 95);
        gfg.put("dsa", 99);
        gfg.put("java", 99);
        gfg.put("c++", 99);
 
        // iterating over the treemap in java
        System.out.println(
            "-------before removing first and last entry-------");
 
        for (String key : gfg.keySet()) {
            System.out.println(key + "," + gfg.get(key));
        }
 
        // removing first entry through firstKey()
        String firstKey
            = gfg.keySet().stream().findFirst().get();
        gfg.remove(firstKey);
 
        // removing last entry through lastKey()
        String lastKey = gfg.keySet()
                             .stream()
                             .skip(gfg.size() - 1)
                             .findFirst()
                             .get();
        gfg.remove(lastKey);
 
        System.out.println(
            "-------after removing first and last entry-------");
 
        // iterating over the treemap
        for (String key : gfg.keySet()) {
            System.out.println(key + "," + gfg.get(key));
        }
    }
}
Producción

-------before removing first and last entry-------
Interviews,97
c++,99
competitive programming,95
dsa,99
fang,86
java,99
-------after removing first and last entry-------
c++,99
competitive programming,95
dsa,99
fang,86

Publicación traducida automáticamente

Artículo escrito por rajatagrawal5 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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