ProghubPH
Вопрос из теста Java основы
Java / junior

Каким будет результат выполнения данного кода ?

 один вариант
import java.util.*; 
 
class Employee { 
    private String name; 
 
    public Employee(String name) { 
        this.name = name; 
    } 
 
    public String toString() { 
        return name; 
    } 
 
    public boolean equals(Object obj) { 
        HashCodeTest.count++; 
 
        if (obj == null) return false; 
        if (obj.getClass() != getClass()) return false; 
 
        Employee emp = (Employee) obj; 
        if (this.name == emp.name) { 
            return true; 
        } 
        return false; 
    } 
 
    public int hashCode(){ 
        return name.hashCode(); 
    } 
} 
 
public class HashCodeTest { 
    static int count = 0; 
 
    public static void main(String[] args) { 
 
        Map employees = new HashMap(); 
 
        employees.put(new Employee("Joe"), new Integer("1")); 
        employees.put(new Employee("Chandler"), new Integer("2")); 
        employees.put(new Employee("Chandler"), new Integer("2")); 
        employees.put(new Employee("Ross"), new Integer("3")); 
         
        Iterator iterator = employees.keySet().iterator(); 
 
        while (iterator.hasNext()) { 
            System.out.println(iterator.next()); 
        } 
 
        System.out.println(count); 
    } 
} 



P.S. Для умников - хешкоды строк "Joe", "Chandler" и "Ross" - разные.
Chandler Chandler Joe Ross 1
Chandler Joe Ross 9
Chandler Chandler Joe Ross 7
Chandler Joe Ross 1
Ошибка компиляции