Advertisement
Drowze

Aula de Hashcodes

Mar 3rd, 2015
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.78 KB | None | 0 0
  1. //AULA DE HASHCODE (aka Tabela de espalhamento)
  2.  
  3.     //Quando a variável for int (4bytes):
  4.     public int hashCode(){
  5.         int resultado = 1;
  6.         resultado = resultado * 7 + this.variavel;
  7.         return resultado;
  8.     }
  9.    
  10.     //Quando a variável for byte (1byte) ou short (2bytes) ou char 1(byte):
  11.     public int hashCode(){
  12.         int resultado = 1;
  13.         resultado = resultado * 7 + (int)this.variavel;
  14.         return resultado;
  15.     }
  16.    
  17.     //Quando a variável for float (nbytes):
  18.     public int hashCode(){
  19.         int resultado = 1;
  20.         resultado = resultado * 7 + Float.floatToIntBits(this.variavel);
  21.         return resultado;
  22.     }
  23.    
  24.     //Quando a variável for long (8bytes):
  25.     public int hashCode(){
  26.         int resultado = 1;
  27.         resultado = resultado * 7 + (int)((this.variavel>>>32)|this.variavel);
  28.         return resultado;
  29.     }
  30.    
  31. /*//////////////////////////////////////////////////////////////////////////
  32. Exemplo para vetor de longs (aplicar para outros tipos de vetores também):
  33. for(int i=0/i<this.segundo.lenght;i++){
  34.     resultado = resultado * 7 + (int)((this.seundo[i]>>>32)|this.segndo[i]);
  35. }
  36. //////////////////////////////////////////////////////////////////////////*/
  37.    
  38.     //Quando a variável for double (nbytes):
  39.     public int hashCode(){
  40.         int resultado = 1;
  41.         resultado = resultado + (int)((Double.doubleToLongBits(this.variavel)>>>32)|Double.doubleToLongBits(this.variavel));
  42.         return resultado;
  43.     }
  44.    
  45.     //Quando a variável for booleana:
  46.     public int hashCode(){
  47.         int resultado = 1;
  48.         resultado = resultado * 7 + (this.variavel ? 1 : 0);
  49.         return resultado;
  50.     }
  51.    
  52.     //Quando a "variavel" for um objeto:
  53.     public int hashCode(){
  54.         int resultado = 1;
  55.         resultado = resultado * 7 + this.variavel.hashCode();
  56.         return resultado;
  57.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement