Ver Mensaje Individual
  #29 (permalink)  
Antiguo 04/12/2017, 22:24
Avatar de detective_jd
detective_jd
 
Fecha de Ingreso: abril-2011
Ubicación: Salto
Mensajes: 437
Antigüedad: 13 años
Puntos: 6
Respuesta: TablaHash y sus pasos

Hola Calgary Corpus, te respondo por partes

Cita:
No entiendo lo que intentas probar.
Verás gracias a tu otro comentario pude arreglar con los for, pero probando me dí cuenta que en ciertas ocasiones el LinkedHashSet casero (MyLinkedSet) no ordena por inserción de datos, en la función reverse de la clase UpTest.java porque los puse en la función en este órden:

"Denisse","Franco","Manuela","Deborah","Miguel","T ommy"

pero en la consola me muestra de esta forma:

Denisse
Franco
Miguel
Manuela
Deborah
Tommy

verás que el elemento 3, 4 y 5 no están ordenados por inserción eso es lo que quiero probar y arreglar. En la clase MyLinkedMap hereda de MyMap (como lo hace LinkedHashMap con HashMap) el método addBefore y
init son para el tema de las ordenaciones, ahí está mi problema.

Cita:
Supongo que tus tests unitarios siguen malos.
Dame una idea de cómo cambiarlos porque así estuvimos que son malos, malos y más malos pero no sé ocurrió una forma de mejorarlos sinceramente, pensé más en las funcionalidades,

Cita:
Es mejor que recortes tus problemas en pequeños problemas que entregar un link a kilómetros de código para que alguien más los encuentre por ti.
En estos momentos el problema a resolver está en el addBefore de la clase MyLinkedMap para que independiente de cómo pongas los datos, los órdenes por inserción.

Cita:
Haz uno o varios tests que usen lo más básico de los tipos que estás definiendo, alguno(s) de ellos debería(n) fallar. Corrijelo (s). Haz que ese test sea parte de tus tests para que modificaciones futuras detecten errores en implementaciones de otras funcionalidades.
Cada clase del paquete linkedsetsimple.test es un test diferente, dame ideas para mejorarlos. Con respecto a:

Cita:
Haz que ese test sea parte de tus tests para que modificaciones futuras detecten errores en implementaciones de otras funcionalidades.
Aparte de lo que hacen las estructuras de datos CRUD, no sé me ocurre otra implementación de otra funcionalidad, estas estructuras de hashing que estoy haciendo son para ver entender cómo funcionan los Hashing normales:

* HashMap
* HashSet - que delega todo de HashMap)

los Hashing enlazados, que estoy en los últimos detalles para terminarlos:

* LinkedHashMap - hereda de HashMap pero algunos métodos son redifinidos y cambian los iterators.
* LinkedHashSet - usa el 4to constructor de HashSet para usar en el Map una instancia de LinkedHashMap

y después de esto quiero intentar implementar TreeMap y TreeSet caseros, todo esto es una antesala de lo que quiero hacer pero para eso quiero entender bien los Hashing cómo se implementan y funcionan.

Pongo el repositorio, el que hay que mirar es MyMap,MyLinkedMap y MyLinkedSet, probar e ver en MyLinkedSet (en especial) el tema de las pruebas, supongo que no viste los últimos cambios de las estructuras.

https://goo.gl/g3hFwz

Espero sus respuestas y saludos