Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/06/2014, 03:09
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 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.
__________________
Apuntes Java
Wiki de Programación