मैं बस यह सुनिश्चित करना चाहता हूं कि सुरक्षितInteger
ऑब्जेक्ट्स को चाबियों के रूप में उपयोग कर रहा है। यहाँ एक छोटी उदाहरण है:इंटीजर कुंजी के साथ जावा मानचित्र: चाबियाँ कैसे तुलना की जाती हैं?
Integer int1 = new Integer(1337);
Integer int2 = new Integer(1337);
if (int1 == int2) {
System.out.println("true");
} else {
System.out.println("false");
}
if (int1.equals(int2)) {
System.out.println("true");
} else {
System.out.println("false");
}
Map<Integer, Object> map = new HashMap<Integer, Object>();
map.put(int1, null);
map.put(int2, null);
System.out.println(map.size());
कोड इच्छा उत्पादन
false
true
1
है यही तो मैं उम्मीद कर रहा था, संदर्भ अलग लेकिन वे एक दूसरे के बराबर है। अब मुझे मानचित्र के व्यवहार में रूचि है।
- क्या यह गारंटी है कि मानचित्र या सेट जैसे संग्रह उनकी सामग्री से कुंजी की तुलना करेंगे, न कि उनके संदर्भ से?
- या वास्तविक कार्यान्वयन पर निर्भर करता है, जैसे
HashMap
?
@close: यह एक डुप्लिकेट नहीं है - प्रश्न में अन्य पोस्ट "बराबर बनाम ==" के मामले को संभालती है, जबकि यह सवाल संग्रह में एक पहचानकर्ता के रूप में कितना अच्छा व्यवहार करेगा!यही कारण है कि नीचे बुलेट बिंदु हैं। मैं पूछ रहा हूं: संग्रह कैसे संभालते हैं। – Scolytus