Prezados, bom dia.
Estou estudando sobre coleções. No caso abaixo é sobre a HashSet.
Para dois objetos serem considerados iguais o livro fala para sobrepor equals() e HashCode() para eles terem o mesmo código de Hashing.
OK, eu intendi a parte de sobrepor equals, porém não intendi a sobreposição de hashing.
Alguem pode me explicar o que o método abaixo hashCode sobreposto faz?
Outra coisa, Hashing é o endereço que o objeto é armazenado na memória? sendo assim, dois objetos com o mesmo hashing, um deles é descartado ou tem como os dois ocuparem o mesmo lugar?
Obrigado, desculpem o incomodo.
Uma ótima semana para todos.
public class Song implements Comparable<Song>{
String title;
String musica;
public Song(String t, String m){
title = t;
musica = m;
}
public String gettitle(){
return title;
}
public String getmusica(){
return musica;
}
public String toString(){
return title;
}
public int compareTo(Song s) {
return title.compareTo(s.gettitle());
}
public boolean equals(Song s){
return gettitle().equals(s.gettitle());
}
public int hashCode(){
return title.hashCode();
}
}