ArrayList es una array de tamaño variable. Está bajo el paquete java java.util. Da arrays dinámicas en Java. ArrayList es útil en programas donde se requieren muchos cambios en la array, pero estos también son más lentos que las arrays estándar. Los elementos de una ArrayList se pueden agregar y eliminar cuando sea necesario.
HashMap es una estructura de datos que almacena elementos en pares «Clave/Valor». Se puede acceder a ellos mediante un índice de otro tipo como un String. El HashMap se denota como HashMap<Clave, Valor>. Esto es muy similar a HashTable, pero permite el uso de valores nulos y claves nulas. No devuelve las claves y los valores en el mismo orden en que se almacenan en HashMap. También está bajo el paquete java java.util.
Ahora, para convertir ArrayList a HashMap , ambos casos de uso se consideran para ilustrar el concepto de anulación también
- ArrayList inicial no tiene duplicados
- ArrayList inicial tiene valores duplicados.
Caso 1: la forma más ideal de convertir un ArrayList en HashMap antes de Java 8 es mediante la iteración sobre el ArrayList dado usando un bucle for mejorado e insertando String como clave y su longitud como valor en HashMap. Aquí, cada elemento de ArrayList puede convertirse en un par clave-valor y almacenarse en HashMap. Este método también maneja cualquier duplicado en ArrayList debido a las entradas insertadas que anulan los valores en caso de claves duplicadas. En este caso, no se lanza ningún error o excepción.
Ejemplo: ArrayList inicial no tiene duplicados
Java
// Program to convert ArrayList // to Hashmap before Java 8 // Name of ArrayList chosen randomly: vehicleList // Importing java generic libraries import java.util.*; public class GFG { // Main driver method public static void main(String[] args) { // Creating ArrayList ArrayList<String> vehicleList = new ArrayList<>(Arrays.asList( "Car", "Bike", "Bus", "Cycle", "Rickshaw")); // Display message to enter ArrayList System.out.println("ArrayList: \n"); // Printing ArrayList for (String vehicle : vehicleList) { System.out.println(vehicle); } // Display message to separate above // list from hashmap for readability System.out.println("\nHashMap: \n"); // Creating Hashmap HashMap<String, Integer> vehicleMap = convertArrayListToHashMap(vehicleList); for (Map.Entry<String, Integer> entry : vehicleMap.entrySet()) { System.out.println(entry.getKey() + " : " + entry.getValue()); } } // Converting ArrayList to HashMap private static HashMap<String, Integer> convertArrayListToHashMap(ArrayList<String> arrayList) { HashMap<String, Integer> hashMap = new HashMap<>(); // For-each loop for iteration for (String str : arrayList) { hashMap.put(str, str.length()); } // Returning converted Hashmap return hashMap; } }
ArrayList: Car Bike Bus Cycle Rickshaw HashMap: Bus : 3 Rickshaw : 8 Car : 3 Bike : 4 Cycle : 5
Caso 2: ArrayList inicial tiene valores duplicados donde anula el valor debido a una clave duplicada en HashMap.
Java
// Program to convert ArrayList // to Hashmap before Java 8 // Importing java generic libraries import java.util.*; public class GFG { // Main driver method public static void main(String[] args) { // Creating ArrayList ArrayList<String> vehicleList = new ArrayList<>( // Presence of Duplicate Elements Arrays.asList("Car", "Bike", "Bus", "Cycle", "Rickshaw", "Car", "Bike")); System.out.println("ArrayList: \n"); // Printing ArrayList for (String vehicle : vehicleList) { System.out.println(vehicle); } // Display message just after ArrayList is printed // for better readability System.out.println("\nHashMap: \n"); // Creating HashMap HashMap<String, Integer> vehicleMap = convertArrayListToHashMap(vehicleList); // Printing above HashMap for (Map.Entry<String, Integer> entry : vehicleMap.entrySet()) { System.out.println(entry.getKey() + " : " + entry.getValue()); } } // Converting ArrayList to HashMap private static HashMap<String, Integer> convertArrayListToHashMap(ArrayList<String> arrayList) { HashMap<String, Integer> hashMap = new HashMap<>(); // For-each loop for iteration for (String str : arrayList) { hashMap.put(str, str.length()); } // Returning converted HashMap return hashMap; } }
ArrayList: Car Bike Bus Cycle Rickshaw Car Bike HashMap: Bus : 3 Rickshaw : 8 Car : 3 Bike : 4 Cycle : 5
Publicación traducida automáticamente
Artículo escrito por akashramjyothi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA