Diferencia entre (HashMap, TreeMap y LinkedHashMap) Java

/** *Ing: Luis T. */ import java.util.HashMap; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; import java.util.TreeMap; public class InterfaceMap { private static Iterator it; /** * HashMap: * Los elementos que inserta en el map no tendrán un orden específico. No aceptan claves duplicadas ni valores nulos. * * TreeMap: * El Mapa lo ordena de forma "natural". Por ejemplo, si la clave son valores enteros (como luego veremos), los ordena * de menor a mayor. * * LinkedHashMap: * Inserta en el Map los elementos en el orden en el que se van insertando; es decir, que no tiene una ordenación de los * elementos como tal, por lo que esta clase realiza las búsquedas de los elementos de forma más lenta que las demás * clases. */ public static void main(String[] args) { System.out.println("======= HASHMAP ======="); buildHashMap(); System.out.println("======= TREEMAP ======="); buildTreeMap(); System.out.println("======= LINKEDHASHMAP ======="); buildLinkedHashMap(); } private static void buildHashMap() { Map<Integer, String> map = new HashMap<Integer, String>(); map.put(1, "valo_1"); map.put(2, "valor_2"); map.put(22, "valor_22"); map.put(4, "valor_4"); map.put(5, "valor_5"); map.put(6, "valor_6"); map.put(51, "valor_51"); map.put(8, "valor_8"); map.put(9, "valor_9"); map.put(39, "valor_39"); // Imprimimos el HashMap it = map.keySet().iterator(); while(it.hasNext()){ Integer key = (Integer) it.next(); System.out.println("Clave: " + key + " -> Valor: " + map.get(key)); } System.out.println("\n"); } private static void buildTreeMap(){ Map<Integer, String> treeMap = new TreeMap<Integer, String>(); treeMap.put(1, "valo_1"); treeMap.put(2, "valor_2"); treeMap.put(22, "valor_22"); treeMap.put(4, "valor_4"); treeMap.put(5, "valor_5"); treeMap.put(6, "valor_6"); treeMap.put(51, "valor_51"); treeMap.put(8, "valor_8"); treeMap.put(9, "valor_9"); treeMap.put(39, "valor_39"); // Imprimimos el TreeMap it = treeMap.keySet().iterator(); while(it.hasNext()){ Integer key = (Integer) it.next(); System.out.println("Clave: " + key + " -> Valor: " + treeMap.get(key)); } System.out.println("\n"); } private static void buildLinkedHashMap(){ Map<Integer, String> linkedHashMap = new LinkedHashMap<Integer, String>(); linkedHashMap.put(1, "valo_1"); linkedHashMap.put(2, "valor_2"); linkedHashMap.put(22, "valor_22"); linkedHashMap.put(4, "valor_4"); linkedHashMap.put(5, "valor_5"); linkedHashMap.put(6, "valor_6"); linkedHashMap.put(51, "valor_51"); linkedHashMap.put(8, "valor_8"); linkedHashMap.put(9, "valor_9"); linkedHashMap.put(39, "valor_39"); // Imprimimos el Map con un Iterador que ya hemos instanciado anteriormente it = linkedHashMap.keySet().iterator(); while(it.hasNext()){ Integer key = (Integer) it.next(); System.out.println("Clave: " + key + " -> Valor: " + linkedHashMap.get(key)); } } } /** * ======================= RESULTADO OBTENIDO ========================= * * ======= HASHMAP ======= * Clave: 51 -> Valor: valor_51 * Clave: 1 -> Valor: valo_1 * Clave: 2 -> Valor: valor_2 * Clave: 4 -> Valor: valor_4 * Clave: 39 -> Valor: valor_39 * Clave: 5 -> Valor: valor_5 * Clave: 6 -> Valor: valor_6 * Clave: 22 -> Valor: valor_22 * Clave: 8 -> Valor: valor_8 * Clave: 9 -> Valor: valor_9 * * ======= TREEMAP ======= * Clave: 1 -> Valor: valo_1 * Clave: 2 -> Valor: valor_2 * Clave: 4 -> Valor: valor_4 * Clave: 5 -> Valor: valor_5 * Clave: 6 -> Valor: valor_6 * Clave: 8 -> Valor: valor_8 * Clave: 9 -> Valor: valor_9 * Clave: 22 -> Valor: valor_22 * Clave: 39 -> Valor: valor_39 * Clave: 51 -> Valor: valor_51 * * ======= LINKEDHASHMAP ======= * Clave: 1 -> Valor: valo_1 * Clave: 2 -> Valor: valor_2 * Clave: 22 -> Valor: valor_22 * Clave: 4 -> Valor: valor_4 * Clave: 5 -> Valor: valor_5 * Clave: 6 -> Valor: valor_6 * Clave: 51 -> Valor: valor_51 * Clave: 8 -> Valor: valor_8 * Clave: 9 -> Valor: valor_9 * Clave: 39 -> Valor: valor_39 */
Resuelvo inquietudes con respecto a este tema de interfaz Map y sus respectivas implementaciones.

Be the first to comment

You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.