elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Duda con Hashtables en java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con Hashtables en java  (Leído 1,511 veces)
GuilleCRS

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Duda con Hashtables en java
« en: 21 Febrero 2017, 06:30 am »

Bueno voy empezando en java y acabo de ver los hashtables , se que se puede buscar mediante una clave  algo en especifico como por ejemplo en el hashtable.get(clave) , pero me surgió la duda ,en un ht como hashtable.put(Integer,Object) se pueden buscar los datos contenidos en esa hashtable pero poniendo como referencia alguna variable que contenga ese objeto?

Por ejemplo crear un objeto llamado persona que contenga nombre , numero y domicilio
y iniciarlo como ht.put(Clave,Persona)
Pero al llamarlo en vez de buscarlo con ht.get(clave) , poderlo buscar con algun dato contenido en el objeto, como el nombre?

Gracias  ;D


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Duda con Hashtables en java
« Respuesta #1 en: 22 Febrero 2017, 09:30 am »

La utilidad de la HashTable es esa, un conjunto de keys que no se repetirán y valores asociados a ellas. Los valores no van a ser comparados, no es la finalidad.

Para lo que buscas, tal vez prefieras crear una lista y buscar manualmente tú (o buscar manualmente en el HashTable directamente)

La respuesta rápida: no, no podrás buscar de forma "automática" por un campo del valor almacenado.


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: Duda con Hashtables en java
« Respuesta #2 en: 22 Febrero 2017, 09:59 am »

Hola.

El propósito de una estructura de datos de un tipo HasTable en un lenguaje OOP se caracteriza por ser representado como una colección de pares de llaves y valores ( [key, value] ), donde las llaves actuan como un tipo diccionario, es decir, sin la posibilidad de contener elementos duplicados... cosa que ya te han explicado más arriba.

No puedes intentar especificar el valor de una llave en el indexer de un HashTable ( myHashTable[value] ), eso no tiene sentido, pues los valores pueden repetirse y esto impediría que existiese la eficencia necesaria para asegurar que se devuelva un único elemento (par de llave y valor) al usar el indexer de este tipo de colección. Lo que si puedes hacer es iterar las llaves de la colección y así evaluar por ti mismo de forma "manual" los valores de cada llave, eso te debería servir para solucionar el problema, o también podrías hacer lo siguiente, en caso de que Java permita hacerlo, heredar la clase de un HashTable para implementar una nueva sobrecarga del indexer al que puedas pasarle el tipo de valor que tú quieras (no me preguntes como hacer esto en Java, ni idea).

¡Saludos!
« Última modificación: 22 Febrero 2017, 10:05 am por Eleкtro » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda en Java!!!
Java
Red_Star 4 3,357 Último mensaje 4 Enero 2006, 13:46 pm
por bruj0
duda java
Java
MlcR0 4 2,778 Último mensaje 31 Diciembre 2006, 23:43 pm
por FAKEz
Duda con Java
Java
elecktra 8 5,086 Último mensaje 26 Abril 2009, 02:16 am
por juancho77
duda de java
Java
diego_ch28 1 2,756 Último mensaje 18 Diciembre 2009, 19:43 pm
por Leyer
Duda Java
Java
lachati84 2 2,632 Último mensaje 23 Febrero 2010, 16:10 pm
por lachati84
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines