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


 


Tema destacado: Votaciones, mejor proyecto de Abril Negro 2017!


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java (Moderadores: Debci, Leyer)
| | | |-+  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 173 veces)
GuilleCRS

Desconectado Desconectado

Mensajes: 1


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

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: 2.951


ASMático


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

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
Novato Astral y
Moderador Global
***
Desconectado Desconectado

Mensajes: 8.871


El sentido común es el menos común de los sentidos


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

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 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 de java
Java
diego_ch28 1 1,696 Último mensaje 18 Diciembre 2009, 19:43
por Leyer
Duda Java
Java
lachati84 2 1,495 Último mensaje 23 Febrero 2010, 16:10
por lachati84
Duda con Java
Java
Feedeex 7 2,109 Último mensaje 10 Marzo 2011, 09:50
por Akai
Java ME Duda???
Java
mapers 0 647 Último mensaje 23 Junio 2012, 06:42
por mapers
Duda con java
Programación General
Gm3z 3 615 Último mensaje 9 Marzo 2013, 12:00
por Gm3z
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines