Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //AULA DE HASHCODE (aka Tabela de espalhamento)
- //Quando a variável for int (4bytes):
- public int hashCode(){
- int resultado = 1;
- resultado = resultado * 7 + this.variavel;
- return resultado;
- }
- //Quando a variável for byte (1byte) ou short (2bytes) ou char 1(byte):
- public int hashCode(){
- int resultado = 1;
- resultado = resultado * 7 + (int)this.variavel;
- return resultado;
- }
- //Quando a variável for float (nbytes):
- public int hashCode(){
- int resultado = 1;
- resultado = resultado * 7 + Float.floatToIntBits(this.variavel);
- return resultado;
- }
- //Quando a variável for long (8bytes):
- public int hashCode(){
- int resultado = 1;
- resultado = resultado * 7 + (int)((this.variavel>>>32)|this.variavel);
- return resultado;
- }
- /*//////////////////////////////////////////////////////////////////////////
- Exemplo para vetor de longs (aplicar para outros tipos de vetores também):
- for(int i=0/i<this.segundo.lenght;i++){
- resultado = resultado * 7 + (int)((this.seundo[i]>>>32)|this.segndo[i]);
- }
- //////////////////////////////////////////////////////////////////////////*/
- //Quando a variável for double (nbytes):
- public int hashCode(){
- int resultado = 1;
- resultado = resultado + (int)((Double.doubleToLongBits(this.variavel)>>>32)|Double.doubleToLongBits(this.variavel));
- return resultado;
- }
- //Quando a variável for booleana:
- public int hashCode(){
- int resultado = 1;
- resultado = resultado * 7 + (this.variavel ? 1 : 0);
- return resultado;
- }
- //Quando a "variavel" for um objeto:
- public int hashCode(){
- int resultado = 1;
- resultado = resultado * 7 + this.variavel.hashCode();
- return resultado;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement