¿Cómo convertir TreeMap a ArrayList en Java?

TreeMap es parte del marco de Java Collection. Java TreeMap contiene valores basados ​​en la clave. Implementa la interfaz NavigableMap y extiende la clase AbstractMap. Proporciona un medio eficaz para almacenar pares clave-valor en orden. Java TreeMap contiene solo elementos únicos. No puede tener una clave nula pero puede tener múltiples valores nulos. TreeMap no está sincronizado, tenemos que sincronizarlo explícitamente para usarlo en un entorno de subprocesos múltiples. TreeMap mantiene el orden ascendente de los elementos.

La forma de convertir TreeMap a ArrayList :

  • TreeMap que tiene claves y valores se puede convertir en dos ArrayLists de claves y valores.
  • Als uno con claves y el otro con valores, se puede convertir en un TreeMap.

Ejemplo:

TreeMap : {1=Welcome, 2=To, 3= Geeks, 4=For, 5=Geeks}
keyList : [1, 2, 3, 4, 5]
valueList : [Welcome, To, Geeks, For, Geeks]

Acercarse:

  • Cree un objeto TreeMap e inserte algunas claves y valores.
  • Extraiga las claves del TreeMap utilizando el método TreeMap.keySet() y colóquelas en un objeto ArrayList que se ha creado para almacenar claves.
  • Extraiga los valores del TreeMap utilizando el método TreeMap.values() y colóquelos en otro objeto ArrayList que se haya creado para almacenar valores.

Ejemplo:

Java

// Java program to demonstrate conversion of
// TreeMap to ArrayList
 
import java.util.*;
class GFG {
    // a class level treeMap object
    static TreeMap<Integer, String> treeMap
        = new TreeMap<Integer, String>();
 
    // Method to convert TreeMap to ArrayList
    static void convertMapToList()
    {
        // Extract the keys from the TreeMap
        // using TreeMap.keySet() and
        // assign them to keyList of type ArrayList
        ArrayList<Integer> keyList
            = new ArrayList<Integer>(treeMap.keySet());
 
        // Extract the values from the TreeMap
        // using TreeMap.values() and
        // assign them to valueList of type ArrayList
        ArrayList<String> valueList
            = new ArrayList<String>(treeMap.values());
 
        // printing the keyList
        System.out.println(
            "List of keys of the given Map : " + keyList);
 
        // printing the valueList
        System.out.println(
            "List of values of the given Map : "
            + valueList);
    }
 
    // Driver Method
    public static void main(String args[])
    {
        // inserting data into the TreeMap
        // using TreeMap.put() method
        treeMap.put(1, "Welcome");
        treeMap.put(2, "To");
        treeMap.put(3, "Geeks");
        treeMap.put(4, "For");
        treeMap.put(5, "Geeks");
 
        // printing the TreeMap
        System.out.println("The TreeMap is : " + treeMap);
 
        // calling convertMapToList() method
        convertMapToList();
    }
}
Producción

The TreeMap is : {1=Welcome, 2=To, 3=Geeks, 4=For, 5=Geeks}
List of keys of the given Map : [1, 2, 3, 4, 5]
List of values of the given Map : [Welcome, To, Geeks, For, Geeks]

Enfoque 2: Usar el método entrySet() 

En el siguiente enfoque, convertimos directamente todo el TreeMap a ArrayList con claves y valores juntos . Para esto, tenemos que usar el objeto Entry . Para utilizar este enfoque, importe el paquete java.util.Map.Entry. 

Aquí, las claves y los valores en TreeMap se convertirán directamente a ArrayList y la clave y el valor para cada índice se mostrarán como «clave = valor» en ArrayList.

Paso 1: declarar y agregar los valores en el TreeMap.

Paso 2: llama a la función convertMaptoList().

Paso 3: Declare ArrayList con el objeto Entry en la función y especifique el método TreeMap.entrySet() en el constructor ArrayList. Convertirá los valores de TreeMap a ArrayList.

Paso 4: Imprima el ArrayList convertido.

Java

import java.util.*;
import java.util.Map.Entry;
 
public class GFG {
 
    static TreeMap<Integer, String> treeMap
        = new TreeMap<Integer, String>();
 
    static void convertMapToList()
    {
 
        List<Entry> keyList
            = new ArrayList<Entry>(treeMap.entrySet());
        System.out.println("Tree Map to ArrayList :"
                           + keyList);
    }
 
    public static void main(String[] args)
    {
        treeMap.put(1, "Welcome");
        treeMap.put(2, "To");
        treeMap.put(3, "Geeks");
        treeMap.put(4, "For");
        treeMap.put(5, "Geeks");
 
        // printing the TreeMap
        System.out.println("The TreeMap is : " + treeMap);
 
        // calling convertMapToList() method
        convertMapToList();
    }
}
Producción

The TreeMap is : {1=Welcome, 2=To, 3=Geeks, 4=For, 5=Geeks}
Tree Map to ArrayList :[1=Welcome, 2=To, 3=Geeks, 4=For, 5=Geeks]

Publicación traducida automáticamente

Artículo escrito por ushashree 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 *