java شرح استدعاء كونتينكي على هشماب مع فئة مخصصة



map java (1)

لدي فئة اللون الذي أنا وضع في هاشماب. أود أن استدعاء كونتينكي على هاشماب للتأكد من ما إذا كان الكائن موجود بالفعل في هاشماب

فئة اللون

public class Color {
  public String name;
  Color (String name) {this.name = name;}
  //getters setters for name 
}

خريطة التجزئة

HashMap<Color, List<String>> m = new HashMap<Color, List<String>>();
Color c = new Color("red");
m.put(c, new ArrayList<String>());
Color c1 = new Color("red");
System.out.println(m.containsKey(c1)); //I'd like to return this as true

منذ c1 لديه name الأحمر. أود أن System.out للعودة صحيح لأن المفتاح موجود بالفعل في الخريطة، c ، لديه name أحمر

كيف احقق هذا؟


الفئة المخصصة الخاصة بك يجب أن تجاوز Color equals() و hashcode() أساليب لتحقيق ما تريد.

عند استخدام كائنات مخصصة كمفاتيح collections وترغب في إجراء بحث باستخدام كائن ، يجب عليك تجاوز صحيح equals() و hashcode() أساليب.

اقرأ أيضا:

تجاوز يساوي و هاشكود في جافا





hashmap