Esta es una funcionalidad que en PHP es natural para cualquier arreglo, en lo personal me ha sacado de muchos problemas y gracias a la ayuda de un par de expertos en Java, ahora la estoy implementando por medio de HashMap.

De esta manera es posible utilizar cualquier valor como indice de un arreglo, no solo la clasica secuencia de enteros.


import java.util.Map; // Superclase HashMap
import java.util.HashMap; // Contenedor que soporta extraccion rapida de Datos
import java.util.Iterator; // Utilizado para recorrer el HashMap

public class HashMapExample {

// Este metodo imprime todos los valores en el objeto hashMap
public static void printHashMap(HashMap hashMap) {
System.out.print( "HashMap: " );

// Utiliza iterator para recorrer los valores en el TreeMap
Iterator iterator = hashMap.entrySet().iterator();

while (iterator.hasNext()) {
Map.Entry entry = (Map.Entry) iterator.next();
System.out.print( "(" + entry.getKey() + ": " +
entry.getValue() + "), " );
}
System.out.println();
}

public static void main(String[] args) {
HashMap hashMap = new HashMap();

// Pone 4 pares de valores en el HashMap
hashMap.put("Pharaoh", new Integer(55));
hashMap.put("Emperor", new Double(2.33));
hashMap.put("Kaiser", new Long(323322L));
hashMap.put("Czar", new Boolean(true));

// "HashMap: (Pharaoh: 55), (Czar: true), (Kaiser: 323322),
// (Emperor: 2.33), "
printHashMap(hashMap);

// Obtiene el valor asociado con la llave "Emperor"--imprime 2.33.
System.out.println("Valor de la clave Emperor: " +
hashMap.get("Emperor") );

// Elimina el par de datos con la llave "Kaiser".
hashMap.remove("Kaiser");

// "HashMap: (Pharaoh: 55), (Czar: true), (Emperor: 2.33), "
printHashMap(hashMap);

// Averigua si HashMap tiene la clave "Sultan".
System.out.println( "Existe la clave Sultan? " +
hashMap.containsKey("Sultan") ); // Imprime false
}
}

/* Salida en pantalla:

HashMap: (Pharaoh: 55), (Czar: true), (Kaiser: 323322), (Emperor: 2.33),
Valor de la clave Emperor: 2.33
HashMap: (Pharaoh: 55), (Czar: true), (Emperor: 2.33),
Existe la clave? false

*/


Ojala a alguien le sirva, si no pues ya se donde venir a buscar la proxima vez que lo requiera.

1 comentarios

  1. Matias Colli // 7:36 a.m.  

    Excelente la explicación.

    Matias Colli.