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(); } }
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(); } }
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]