Ich habe eine Pojo namens Employee.java entwickelt. Jetzt plante ich, es als benutzerdefinierte Sammlung zu machen. Ich möchte eine Karte erstellen und alle Objekte des Mitarbeitertyps darin speichern.In Bezug auf Karte als benutzerdefinierte Basis
Unten ist mein pojo
public class Employee {
String name,job;
int salary;
public Employee(String n , String j, int t) //constructor
{
this.name= n;
this.job=j;
this.salary= t;
}
@Override
public int hashCode()
{
return name.hashCode()+job.hashCode()+salary;
}
@Override
public boolean equals(Object obj) {
Employee e = (Employee) obj;
return this.name.equals(e.name)&&this.job.equals(e.job)&&this.salary==e.salary;
}
}
Jetzt habe ich eine andere Klasse entwickelt, die Karte enthält und Mitarbeitertyp Objekte speichern ..
public static void main(String[] args)
{
Map employeeMap = new HashMap();
Employee e = new Employee("Saral", "Trainer", 34000);
Employee e1 = new Employee("Sarall", "saral", 34090);
employeeMap.put("S", e);
employeeMap.put("S1", e);
System.out.println(employeeMap.size());
Set s = employeeMap.entrySet();
Iterator it = s.iterator();
while(it.hasNext())
{
Map.Entry m =(Map.Entry)it.next();
System.out.println(m.getKey()+"\t"+m.getValue());
}
aber wenn ich versuche, es zu laufen, ich will holen Sie die Angestelltdetails aber ich ERHALTEN ANGEZEIGT DAS OBJEKT AUF BILDSCHIRM ... Ich möchte den Angestellten Wert sehen, Bitte beraten Sie mich, wie man Werte vom Angestelltengegenstand erhält.
2
S [email protected]
S1 [email protected]
Hallo, ich habe nicht verstanden, wie die Hash-Code() gebrochen ist, expalin bitte im Detail ..! ! Ich habe diesen Hashcode() generiert, der Eclipse erzeugt aber wie er sich von meinem Hashcode() unterscheidet, bitte expalin detailliert. – Neera
Ich habe auch überprüft, dass bei der Verwendung der Eclipse-Version es falsch ist, was perfekt ist, aber während meiner Verwendung ist es wahr, bitte erklären, was falsch in meiner Implementierung von Hash-Code() und wie es sich von Eclipse unterscheidet Hashcode() und was ist, wenn ich meinen eigenen Hashcode() für diese Klasse schreiben möchte, danke im Voraus. – Neera
Ich habe noch nie gesehen, Eclipse Ihre Art von Hashcode zu generieren. Aber das Problem ist, dass (a + b) = (b + a). Wenn Sie einen Hashcode berechnen, müssen Sie die Reihenfolge der Felder berücksichtigen. Weitere Informationen finden Sie hier: http://www.technofundo.com/tech/java/equalhash.html – barsju