नौसिखिया सवालसमझौता जावा HashSet के बारे में जावा HashSet की विधि
Set<User> s = new HashSet<User>();
User u = new User();
u.setName("name1");
s.add(u);
u.setName("name3");
System.out.println(s.contains(u));
कोई क्यों इस कोड उत्पादन झूठी व्याख्या कर सकते हैं शामिल हैं? इसके अलावा यह कोड उपयोगकर्ता के बराबर विधि को भी कॉल नहीं करता है। लेकिन हैशसेट और हैश मैप के स्रोतों के अनुसार इसे कॉल करना होगा। उपयोगकर्ता के बराबर विधि बस उपयोगकर्ता के नाम पर बराबर कॉल करता है। विधि hashCode उपयोगकर्ता का नाम की वापसी hashCode
आप को लागू किया था बनाने के लिए 'User.equals()' विधि ? –
जॉन स्कीट को उद्धृत करने के लिए "हैशसेट्स में ऑब्जेक्ट्स या तो अपरिवर्तनीय होना चाहिए, या आपको हैशसेट (या हैशपैप) में उपयोग किए जाने के बाद उन्हें बदलने में अनुशासन का उपयोग करने की आवश्यकता है।" - http://stackoverflow.com/questions/4718009/mutable-objects-and-hashcode – Qwerky