El objetivo de este ejercicio es (i) practicar la navegación en la API de Java y (ii) ser capaz de utilizar clases provistas por Java para simplificar el desarrollo.
Para resolver el problema utilice la clase StringTokenizer que viene en el paquete java.util. Esta clase sirve para descomponer un string en tokens:
Hashtable table= new Hashtable(); table.put("juan", "Alameda 124"); table.put("pedro", "Providencia 456");Crea dos filas en la tabla: una para el string "juan" y otra para "pedro". El objeto que se asocia en cada caso es un string con la dirección que le corresponde a cada persona. El string "juan" se denomina la llave para acceder al string "Alameda 124".
Para determinar el objeto asociado a una llave se utiliza el método get:
System.out.println( table.get("juan") ); // Alameda 124 System.out.println( table.get("pedro") ); // Providencia 456También se puede cambiar la dirección de pedro:
table.put("pedro", "Grecia 789"); System.out.println( table.get("pedro") ); // Grecia 789
Afortunamente, java ofrece clases ``Wrapper'' para cada uno de los tipos primitivos. Por ejemplo, para los enteros existe la clase Integer:
Integer cinco= new Integer(5);En este caso, la variable cinco referencia un objeto y por lo tanto sí puede ser el objeto asociado en una tabla:
table.put("hola", cinco); ... Integer entero= (Integer)table.get("hola"); System.out.println(entero.intValue());El cast (Integer) es importante porque el método get retorna un Object (no un Integer). El método intValue() permite recuperar el valor almacenado en un objeto de la clase Integer.