RSS
Facebook
G+

Buscador de IntercambioSOS:


Retroceder   Foro de Ayuda IntercambiosvirtualeS > Soporte Sobre: Educación & Entretenimiento > Zona Académica > Programación

Respuesta
 
Herramientas Desplegado
Antiguo 24-mar-2012     #1
Pregunta [JAVA] Busqueda con un TreeMap Optimizacion ayuda.

Hola tengo una clase estudiante que tiene cedula, nombre, apellido, direccion. Y todo eso lo agrege en un treeMap y lo que hago es agregar como clave (key) la cedula del estudiante y como valor (Object) el estudiante.
Pero para realizar una búsqueda por cedula lo unico que hago es recuperar la cedula del estudiante en el TreeMap(get.(Object key)), pero si quisiera buscar por nombre o apellido tendría que cambiar la clave del TreeMap, me parece optima esta búsqueda pero hay alguna otra forma de cambiar la clave sin volver a iterar para cada búsqueda por un tipo. y utilizar una clave compuesta que tenga cédula, nombre, apellido... ? y llamar directo al método get.(Object key) y mandar como key la cédula, el nombre o apellido.

Gracias Saludos.

Última edición por c.uent; 24-mar-2012 a las 14:08
Responder Citando
Usuarios que han agradecido este mensaje de c.uent
baduser (24-mar-2012)
Antiguo 24-mar-2012     #2
Predeterminado

Gracias por compartir !!!

salu2

"Hay una fuerza motriz mas poderosa que el vapor, la electricidad y la energía atómica, LA VOLUNTAD."
Responder Citando
Antiguo 24-mar-2012     #3
Predeterminado

Gracias por compartir !!!

salu2

"Hay una fuerza motriz mas poderosa que el vapor, la electricidad y la energía atómica, LA VOLUNTAD."
Responder Citando
Antiguo 30-mar-2012     #4
Post Problema Resuelto

Que tal resolvi mi problema de la siguiente manera. Pero si alguien tiene una solucion mas optima para las busquedas no dude en comentar..!!

Código PHP:
    public static void buscar(String tipo,Map m,Object buscado){
        
Map mAux=new HashMap();
        
        for (
Iterator i m.entrySet().iterator(); i.hasNext(); ) {
            
Estudiante eAux=(Estudiante) ((Map.Entry)i.next()).getValue();
            
            switch(
tipoClave.valueOf(tipo)){
                case 
NOMBREmAux.put(eAux.getNombre(), eAux);
                    break;
                case 
APELLIDO:mAux.put(eAux.getApellido(), eAux);
                    break;
                case 
CEDULA:mAux.put(eAux.getCedula(), eAux);
                    break;
                case 
EDAD:mAux.put(eAux.getEdad(), eAux);
                    break;
                case 
FACULTAD_NOMBRE:mAux.put(eAux.getFacultad().getNombre(), eAux);
                    break;
                default: 
            }
        }
        
        
System.out.println(mAux.get(buscado));
    }    
    
    public static 
enum tipoClave{
        
NOMBRE,APELLIDO,CEDULA,EDAD,FACULTAD_NOMBRE;
    } 
Responder Citando
Usuarios que han agradecido este mensaje de c.uent
baduser (30-mar-2012)
Antiguo 30-mar-2012     #5
Predeterminado

Gracias por compartir la solucion compañero c.uent

"Hay una fuerza motriz mas poderosa que el vapor, la electricidad y la energía atómica, LA VOLUNTAD."
Responder Citando
Respuesta


(0 miembros y 1 visitantes)
 
Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado

Ir al Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
.: [Tutorial] Cambiar Motor de Busqueda en Firefox :. VJEVans Tutoriales & Videos Tutoriales 5 14-may-2011 01:18
Google Instant: Nuevo servicio de Google que muestra los resultados de búsqueda mientras se teclea txelu Informática 10 21-abr-2011 15:10


Desarrollado por: vBulletin® Versión 3.8.1
Derechos de Autor ©2000 - 2017, Jelsoft Enterprises Ltd.
Ad Management by RedTyger