import java.util.HashSet;
import java.util.Set;
   class Employee {
    @Override
      public int hashCode() {
    System.out.println("Hash");
    return super.hashCode();
    }
}
 public class Test2 {
public static void main(String[] args) {
    Set<Employee>set= new HashSet<>();
    Employee employee = new Employee();
    set.add(employee);
    System.out.println(set);// if we comment this "Hash" will be printed once
}
 }
Above code calls hashCode method 2 times if we print set. Why hashcode method is called on System.out.println()?
 
     
     
     
    