Beruflich Dokumente
Kultur Dokumente
A. FUNDAMENTACIÓN:
Clase Hashtable
Representa un tipo de colección basada en claves, donde los objetos almacenados en la misma
(valores) no tienen asociado un índice numérico basado en su posición, sino un clave que lo identifica
de forma única dentro de la colección, una clave puede ser cualquier tipo de objeto.
La utilización de colecciones basadas en claves resulta útil en aquellas aplicaciones en las que se
requieren realizar búsquedas de objetos a partir de un dato que lo identifica. Por ejemplo, si se desea
gestionar una colección de objetos de tipo “empleado” puede resultar más práctico almacenarlos en
un ashtable, asociándole como clave la cedula de identidad, que guardándolos en un arrayList en el
que a cada empleado se le asigna un índice según el orden de almacenamiento
lista.put (k, n);
Indica si la clave especificada existe o no en la colección
put (k, n);
Añade a la colección el objeto n, asignándole la clave especificada por key.
En caso de que exista esa clave en la colección, el objeto que tenía asignada esa clave se sustituye
por el nuevo objeto, devolviendo el objeto sustituido.
lista.remove (k);
Elimina de la colección el valor cuya clave k se especifica en el parámetro. En caso de que no exista
ningún objeto con esa clave, no hará nada y devolverá null; si existe, eliminara el objeto y el mismo
será devuelto por el método remove( ).
keys(); Devuelve un objeto enumeración que permite iterar sobre el conjunto de claves.
hasMoreElements( ); Indica si hay más elementos por recorrer en la colección. Cuando el objeto
enumeration la llamada a este método devolverá false.
nextElement( ); La llamada al metodo nextElement ( ) sobre un objeto Enumeration, provoca que este
pase a apuntar al siguiente objeto de la colección. Devolviendo el nuevo objeto apuntado. Inicialmente
un enumeración se encuentra apuntado a la posición que esta antes del primer objeto de la colección,
por lo que la primera llamada al nextElement ( ) devolverá el primer objeto.
get (); Devuelve el valor que tiene asociado la clave que se indica en el parámetro; en caso de que no
exista ningún objeto con esa clave asociada devolverá null.
B. DESCRIPCIÓN:
C. OBJETIVO:
Elaborar dos algoritmos que permita comprender del uso en el ArrayList y Hashtable en el proyecto
“Sistema de Alarma del Automóvil Chevrolet Optra 1.8”
D. PROYECTO:
E. TAREAS A REALIZAR:
1. Use el Hashtable en el Proyecto “Sistema de Alarma del Automóvil Chevrolet Optra 1.8 e ingrese los
atributos mediante opciones.
F. ANÁLISIS:
ANÁLISIS DE DATOS:
ANÁLISIS DE FUNCIONES:
G. DISEÑO:
DISEÑO LÓGICO:
Sistema_Alarma_Hashtable
- atributos :
- atri :
- cod :
- codi :
- n :
- k :
- opcion :
+ Hastable ()
+ println ()
+ BufferedReader ()
+ readLine ()
DISEÑO FÍSICO:
Sistema_Alarma_Hashtable
- atributos : string
- atri : string
- cod : string
- codi : string
- n : string
- k : string
- opcion : string
+ Hastable ()
+ println () : string
+ BufferedReader ()
+ readLine () : string
H. IMPLEMENTACIÓN:
/*
*/
package lab32_proyectohashtable;
/**
*
* @author CHACON CLAUDIO SONIA
*/
import java.io.*;
import java.util.*;
public class LAB32_ProyectoHashtable {
/**
* @param args the command line arguments
*/
public static void main(String[] args)throws IOException {
// TODO code application logic here
Hashtable atributos=new Hashtable();
String opcion;
BufferedReader bf=new BufferedReader (new InputStreamReader(System.in));
do{
System.out.println("Elegir opcion: \n");
System.out.println("1. Añadir Atributo: ");
System.out.println("2. Eliminar Atributo: ");
System.out.println("3. Mostrar todos los Atributos: ");
System.out.println("4. Salir: ");
opcion=bf.readLine();
switch (Integer.parseInt(opcion)){
case 1:
String atri,cod;
System.out.println("Ingrese el Atributo: ");
atri=bf.readLine();
System.out.println("codigo: ");
cod=bf.readLine();
almacenaAtributo(atri, cod, atributos);
break;
case 2:
String codi;
System.out.println("Ingrese el codigo del atributo: ");
codi=bf.readLine();
eliminarAtributo(codi, atributos);
break;
case 3:
mostrarTodos (atributos);
break;
}
}
while(!opcion.equals("4"));
}
static void almacenaAtributo(String n, String k, Hashtable lista){
if(!lista.containsKey(k)){
lista.put(k,n);
}
}
static void eliminarAtributo(String k, Hashtable lista){
if(lista.containsKey(k)){
lista.remove(k);
}
}
static void mostrarTodos (Hashtable lista){
Enumeration claves=lista.keys();
while (claves.hasMoreElements()){
String k=(String)claves.nextElement();
System.out.println(k+ " - "+lista.get(k));}
}
}
I. PRUEBAS:
Hastable ();
println ();
BufferedReader ();
K. RESULTADOS Y CONCLUSIONES:
Se elaboró dos programas usando Hashtable, y se ingresó datos al usuario al finalizar se imprime lo
que se ha ingresado por teclado de una manera ordenada y se puede escoger opciones.
M. REFERENCIAS BIBLIOGRÁFICAS: