- registrarAlumno.
- eliminarObjetoEnMemoria.
- buscarObjetoEnTabla.
- buscarExisteObjetoEnTabla.
- getListaKeysFromObjeto.
- getListaKeysFromHashMap.
- imprimirObjetosHashMap.
El ejemplo es el siguiente:
CLASE: Alumno:
/**
* @author Cesar Ricardo.
* @clase: Alumno.java
* @descripción descripción de la clase.
* @author_web: http://frameworksjava2008.blogspot.com
http://viviendoconjavaynomoririntentandolo.blogspot.com
* @author_email: nombre del email del autor.
* @author_company: nombre de la compañía del autor.
* @fecha_de_creación: dd-mm-yyyy.
* @fecha_de_ultima_actualización: dd-mm-yyyy.
* @versión 1.0
*/
public class Alumno{
private int codigo;
private String nombres;
private String apellidos;
private String edad;
//Constructores ...
public Alumno(){
}
public Alumno( Alumno objAlumno ){
this.codigo = objAlumno.getCodigo();
this.nombres = objAlumno.getNombres();
this.apellidos = objAlumno.getApellidos();
this.edad = objAlumno.getEdad();
}
public Alumno( int codigo, String nombres, String apellidos, String edad ){
this.codigo = codigo;
this.nombres = nombres;
this.apellidos = apellidos;
this.edad = edad;
}
public int getCodigo(){
return codigo;
}
public void setCodigo( int codigo ){
this.codigo = codigo;
}
public String getNombres(){
return nombres;
}
public void setNombres( String nombres ){
this.nombres = nombres;
}
public String getApellidos(){
return apellidos;
}
public void setApellidos( String apellidos ){
this.apellidos = apellidos;
}
public String getEdad(){
return edad;
}
public void setEdad( String edad ){
this.edad = edad;
}
}
CLASE: ManejoHashMap:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
/**
* @author Cesar Ricardo.
* @clase: ManejoHashMap.java
* @descripción descripción de la clase.
* @author_web: http://frameworksjava2008.blogspot.com
http://viviendoconjavaynomoririntentandolo.blogspot.com
* @author_email: nombre del email del autor.
* @author_company: nombre de la compañía del autor.
* @fecha_de_creación: dd-mm-yyyy.
* @fecha_de_ultima_actualización: dd-mm-yyyy.
* @versión 1.0
*/
public class ManejoHashMap{
private static Map
private static int codigoCorrelativoTabla = 0;
private static final String SIGLA_CODIGO = "USU000";
{
this.tablaDataAlumnos = new HashMap
}
//Constructor ...
public ManejoHashMap(){
}
/**
* main
* @param argumentos
*/
public static void main( String[] argumentos ){
ManejoHashMap tablaBD = new ManejoHashMap();
Alumno objAlumno_01 = new Alumno( 1, "Cesar Ricardo", "Guerra Arnaiz", "27" );
Alumno objAlumno_02 = new Alumno( 2, "Catherine Magaly", "Cotrina Vasquez", "25" );
Alumno objAlumno_03 = new Alumno( 3, "Milko Guiovany", "Samamé Hipolito", "36" );
//REGISTRANDO OBJETOS.
tablaBD.registrarAlumno( objAlumno_01 );
tablaBD.registrarAlumno( objAlumno_02 );
tablaBD.registrarAlumno( objAlumno_03 );
tablaBD.imprimirObjetosHashMap(); //Imprime resultados.
//IMPRIMIR KEYS DEL 'HASHMAP'
System.out.println( "" );
List
System.out.println( "NUMERO KEYS: " + listaKeysHashMap.size() );
System.out.println( "KEYS: " + listaKeysHashMap );
//ELIMINAR OBJETOS REGISTRADOS.
System.out.println( "" );
Alumno objAlumnoEliminar = new Alumno();
objAlumnoEliminar.setCodigo( 1 ); //Seteo de codigo identificador del Objeto.
tablaBD.eliminarObjetoEnMemoria( objAlumnoEliminar );
tablaBD.imprimirObjetosHashMap(); //Imprime resultados.
}
/**
* registrarAlumno
* @param objAlumno
* @return boolean
*/
public boolean registrarAlumno( Alumno objAlumnoParam ){
System.out.println( "********** DENTRO DE 'registrarAlumno' ************ " );
boolean estado = false;
boolean existe = false;
try{
if( objAlumnoParam != null ){
existe = this.buscarExisteObjetoEnTabla( objAlumnoParam );
if( existe == false ){
System.out.println( "NO EXISTE ...!!" );
Alumno objAlumno = new Alumno();
this.codigoCorrelativoTabla ++;
//Seteando ...
objAlumno.setCodigo( objAlumnoParam.getCodigo() );
objAlumno.setNombres( objAlumnoParam.getNombres() );
objAlumno.setApellidos( objAlumnoParam.getApellidos() );
objAlumno.setEdad( objAlumnoParam.getEdad() );
//Agregando ...
this.tablaDataAlumnos.put( SIGLA_CODIGO + codigoCorrelativoTabla, objAlumno );
System.out.println( "OBJETO REGISTRADO ...!!" );
estado = true;
}
else{
System.out.println( "NO EXISTE ...!!" );
estado = false;
}
}
else{
estado = false;
}
}
catch( Exception e ){
e.printStackTrace();
estado = false;
}
return estado;
}
/**
* eliminarObjetoEnMemoria
* @param objAlumnoParam
* @return boolean
*/
public boolean eliminarObjetoEnMemoria( Alumno objAlumnoParam ){
System.out.println( "********** DENTRO DE 'eliminarObjetoEnMemoria' ************ " );
boolean existeRegistro = false;
boolean estado = false;
try{
if( objAlumnoParam != null ){
existeRegistro = this.buscarExisteObjetoEnTabla( objAlumnoParam );
System.out.println( "EXISTE REGISTRO: " + existeRegistro );
//SI ES == 'TRUE', EXISTE EN TABLA Y SE PUEDE ELIMINAR.
if( existeRegistro == true ){
List
String codigoKey = null;
Object objRegistro = null;
//Si tiene algun registros.
if( listaKeysObjeto.size() > 0 ){
codigoKey = listaKeysObjeto.get( 0 ); //Obtiene su KEY del Objeto. //USU00XXX
System.out.println( "KEY 'ELIMINAR': " + codigoKey );
objRegistro = this.tablaDataAlumnos.remove( codigoKey );
}
if( objRegistro != null ){
System.out.println( objRegistro + " Codigo del Objeto Removido ...!!");
}
estado = true;
}
else{
estado = false;
}
}
}
catch( Exception e ){
e.printStackTrace();
estado = false;
}
return estado;
}
/**
* buscarObjetoEnTabla
* @param objAlumnoParam
* @return Alumno
*/
public Alumno buscarObjetoEnTabla( Alumno objAlumnoParam ){
System.out.println( "-------- DENTRO DE 'buscarObjetoEnTabla' --------" );
boolean existe = false;
List
String codigoKey = null;
Object objRegistro = null;
Alumno objReturn = null;
//Si tiene algun registros.
if( listaKeysObjeto.size() > 0 ){
codigoKey = listaKeysObjeto.get( 0 ); //Obtiene su KEY del Objeto. //USU00XXX
objRegistro = this.tablaDataAlumnos.get( codigoKey );
}
if( objRegistro != null ){
objReturn = (Alumno)objRegistro;
existe = true;
}
else{
existe = false;
}
return objReturn;
}
/**
* buscarExisteObjetoEnTabla
* @param objAlumnoParam
* @return boolean
*/
public boolean buscarExisteObjetoEnTabla( Alumno objAlumnoParam ){
System.out.println( "-------- DENTRO DE 'buscarExisteObjetoEnTabla' --------" );
boolean existe = false;
List
String codigoKey = null;
Object objRegistro = null;
//Si tiene algun registros.
if( listaKeysObjeto.size() > 0 ){
codigoKey = listaKeysObjeto.get( 0 ); //Obtiene su KEY del Objeto. //USU00XXX
objRegistro = this.tablaDataAlumnos.get( codigoKey );
}
if( objRegistro != null ){
existe = true;
}
else{
existe = false;
}
return existe;
}
/**
* getListaKeysFromObjeto
* @param tablaAlumnos
* @param objAlumnoParam
* @return List
*/
public List
List
//System.out.println( this.tablaDataAlumnos.keySet() );
//Iterando ...
for( String keyAlumno : tablaAlumnosParam.keySet() ){
//System.out.println( keyAlumno );
Alumno objAlumno = tablaAlumnosParam.get( keyAlumno );
if( objAlumno.getCodigo() == objAlumnoParam.getCodigo() ){
listaKey.add( keyAlumno.toString() );
}
}
return listaKey;
}
/**
* getListaKeysFromHashMap
* @param tablaAlumnosParam
* @return List
*/
public List
List
//System.out.println( tablaAlumnos.keySet() );
//Iterando ...
for( String keyAlumno : tablaAlumnosParam.keySet() ){
//System.out.println( keyAlumno );
listaKeys.add( keyAlumno );
}
return listaKeys;
}
/**
* imprimirObjetosHashMap La impresión se dá en base a un ordenaminento NATURAL.
*/
public void imprimirObjetosHashMap(){
System.out.println( "-------- DENTRO DE 'imprimirObjetosHashMap' --------" );
System.out.println ( "TAMAÑO DE REGISTROS EN 'HASHMAP': " + this.tablaDataAlumnos.size() );
Iterator iterador = this.tablaDataAlumnos.entrySet().iterator();
System.out.println( "-------- DATA TABLA CARGADA --------" );
for( ;iterador.hasNext(); ){
Map.Entry llave = ( Map.Entry)iterador.next();
Alumno objAlumno = (Alumno)llave.getValue();
System.out.println( "- KEY: " + llave.getKey() + " | " +
"- DATA: " + objAlumno.hashCode() + " "
+ objAlumno.getCodigo() + " "
+ objAlumno.getNombres() + " "
+ objAlumno.getApellidos() + " "
+ objAlumno.getEdad() );
}
}
/**
* getTablaDataAlumnos
* @return HashMap
*/
public static Map
return tablaDataAlumnos;
}
}
La impresión obtenida en consola al ejecutar las clase 'ManejoHashMap' es el siguiente:
********** DENTRO DE 'registrarAlumno' ************
-------- DENTRO DE 'buscarExisteObjetoEnTabla' --------
NO EXISTE ...!!
OBJETO REGISTRADO ...!!
********** DENTRO DE 'registrarAlumno' ************
-------- DENTRO DE 'buscarExisteObjetoEnTabla' --------
NO EXISTE ...!!
OBJETO REGISTRADO ...!!
********** DENTRO DE 'registrarAlumno' ************
-------- DENTRO DE 'buscarExisteObjetoEnTabla' --------
NO EXISTE ...!!
OBJETO REGISTRADO ...!!
-------- DENTRO DE 'imprimirObjetosHashMap' --------
TAMAÑO DE REGISTROS EN 'HASHMAP': 3
-------- DATA TABLA CARGADA --------
- KEY: USU0001 | - DATA: 11394033 1 Cesar Ricardo Guerra Arnaiz 27
- KEY: USU0002 | - DATA: 4384790 2 Catherine Magaly Cotrina Vasquez 25
- KEY: USU0003 | - DATA: 9634993 3 Milko Guiovany Samamé Hipolito 36
NUMERO KEYS: 3
KEYS: [USU0001, USU0002, USU0003]
********** DENTRO DE 'eliminarObjetoEnMemoria' ************
-------- DENTRO DE 'buscarExisteObjetoEnTabla' --------
EXISTE REGISTRO: true
KEY 'ELIMINAR': USU0001
org.java.map.Alumno@addbf1 Codigo del Objeto Removido ...!!
-------- DENTRO DE 'imprimirObjetosHashMap' --------
TAMAÑO DE REGISTROS EN 'HASHMAP': 2
-------- DATA TABLA CARGADA --------
- KEY: USU0002 | - DATA: 4384790 2 Catherine Magaly Cotrina Vasquez 25
- KEY: USU0003 | - DATA: 9634993 3 Milko Guiovany Samamé Hipolito 36
Para descarga del demo completo pulsar AQUÍ.
No comments:
Post a Comment