Foros del Web » Programación para mayores de 30 ;) » Java »

Hastable

Estas en el tema de Hastable en el foro de Java en Foros del Web. Hola gente. Tengo un problemin, y parece fácil, pero no logro resolverlo. Tengo que hacer un programita (en consola) . Es un simple ABM. Puedo ...
  #1 (permalink)  
Antiguo 08/07/2010, 21:31
 
Fecha de Ingreso: mayo-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Hastable

Hola gente.
Tengo un problemin, y parece fácil, pero no logro resolverlo.

Tengo que hacer un programita (en consola) . Es un simple ABM. Puedo dar de alta, baja o modificar un socio, sin nada raro, y ademas Crear una cuota para ese socio y Listar las cuotas.

Logre hacer todo menos lo de listar las cuotas. Tanto los socios como las cuotas las guardo en 2 hashtables correspondientemente. Con el 1ero no hay drama pq como Key del Hashtable uso el DNI que ingreso y asi guardo o recupero un socio. Pero para el 2do caso, no se como hacer, ya que para una cuota yo no ingreso nada ni con un ReadLine () ni nada. Probé usando el tamaño del hashtable obtenido mediante el size(), pero claro, al agregar una cuota, es un solo tamaño único y se pisa. Es decir no cambia de posición como un arreglo. Siempre se guarda en el mismo lugar.

Bue, me extendí un poco. Si saben como avisan
  #2 (permalink)  
Antiguo 09/07/2010, 00:22
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Hastable

¿Has probado con el size()+1?
Es una idea nada más...
  #3 (permalink)  
Antiguo 09/07/2010, 01:15
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Hastable

No entiendo exactamente que es lo que quieres hacer. ¿Guardar una lista de cuotas relacionadas con socios? ¿O guardar una lista de cuotas aparte?

En todo caso, las cosas se guardan en Hashtable, o mejor ahora usar Map, cuando tienen un identificador. Si no tienes un identificador para usar de clave en tu Map de cuotas... pues no uses Map, usa una List.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #4 (permalink)  
Antiguo 09/07/2010, 03:07
 
Fecha de Ingreso: febrero-2010
Mensajes: 128
Antigüedad: 14 años, 2 meses
Puntos: 3
Respuesta: Hastable

Como te comentan por aquí, la HAstable lo que hace es asignar a un objeto que será la Key, otro objeto. Las keys son únicas y si insertas algo con una key que ya existe, le asignará ese nuevo objeto a esa key, y el anterior se perderá.

Además las hastable son dinámicas y no puedes aumentarles el tamaño, ya que se van aumentando según les asignas elementos.

O bien, si necesariamente quieres tener los datos organizados de esa manera, haces una hastable para usuarios y otra para lo otroque pedías; o deberás pensar en alamacenar los datos de alguna otra manera.

Suerte
  #5 (permalink)  
Antiguo 09/07/2010, 21:11
 
Fecha de Ingreso: mayo-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Respuesta: Hastable

Gente, vi las rtas.
Miren el tema es asi. Yo tengo 2 hashtables. En una guardo los socios con estos datos:
  • Dni
  • Nombre
  • Apellido
  • Nivel ( 1 a 10)

Eso por un lado. Despues yo lo que puedo hacer es agregar una cuota a un socio determinado. Estos datos los guardo en un 2do hashtable, con la particularidad de que, uno de los datos va a ser del tipo Socio. Esto logre hacerlo, ya que cuando guardo una cuota puedo mostrar y me lo muestra bien.

En el 2do HT guardo esto entonces:
  • Fecha
  • Socio (que los tengo en el otro hashtable)
  • Importe
  • Saldo

Yo lo que hice fue con size() sacar el tamaño del 2do ht y asignarselo como KEY. Pero esto no funciono. Asi que ni idea. Igualmente, es muy raro lo que pasa cuando muestro, pq muestra 1 sola cuota con su socio. Los demas que voy creando no se muestran pero tampoco me pisa ese socio que me mostro.
  #6 (permalink)  
Antiguo 11/07/2010, 04:33
 
Fecha de Ingreso: febrero-2010
Mensajes: 128
Antigüedad: 14 años, 2 meses
Puntos: 3
Respuesta: Hastable

Una sugerencia, dices que las cuatos son de un solo usuario.

Por que no haces lo siguiente, crea un solo objeto con lo siguiente:

* Dni
* Nombre
* Apellido
* Nivel ( 1 a 10)
* Cuota
* Fecha
* Importe
* Saldo
es muy facil trabajar con usuarios de esta manera que le squieres asignar cuota, sacas el usuario, y le asignas al atributo cuota un objeto del tipo Cuota. Que quieres acceder a info igual, consultando el objeto cuota asignado, etc...

Espero haberme explicado

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:04.