/**
*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.