23/06/2014, 03:09
|
| Colaborador | | Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 3 meses Puntos: 454 | |
Respuesta: HashCode para objetos diferentes Hola:
No sé si entiendo bien. Los hashcode suelen ser números raros y muy diferentes, es muy dificil que te de hashcodes iguales con objetos distintos. ¿Qué quiere decir "el porcentaje de objetos diferentes es menor de un 50%"?. Si te refieres, por ejemplo, a que de 100 objetos haya 51 con el mismo hashcode, creo que va a ser imposible, salvo que tu clase sea muy sencilla, un solo atributo (por ejemplo un entero) y limitado a valores entre 1 y 10 (por ejemplo). Y aun así, si haces 100 objetos, es muy muy dificil que 51 sean iguales (por estadística habría 10 unos, 10 doses, ... y 10 dieces, no 51 unos).
En cualquier caso, usa un HashSet para ir guardando los hashcodes y un contador que incrementes cada vez que crees un objeto nuevo. Un HashSet no añade elementos repetidos aunque lo intentes, así que el size() del hashset te dará siempre el número de hashset distintos, mientras que el contador te dará el número total de objetos que has instanciado. Sacar de ahí el porcentaje debería ser fácil.
Se bueno. |