कहें कि मुझे छात्र वस्तुओं का संग्रह संग्रहीत करने की आवश्यकता है और प्रत्येक छात्र के पास एक अद्वितीय आईडी है। एक विकल्प उन सभी को एक सूची में स्टोर करना है, लेकिन फिर जब छात्र की तलाश करते हैं, तो मुझे एक रैखिक खोज करना होगा और उनकी आईडी की जांच करनी होगी। दूसरा विकल्प नक्शा का उपयोग करना होगा, जैसे कुछ: मानचित्र जहां कुंजी छात्र छात्र आईडी है जो वास्तविक छात्र वस्तुओं के लिए नक्शा है।मानचित्रों में संग्रहीत वस्तुओं का सही उपयोग
क्या यह समस्या के लिए एक समझदार दृष्टिकोण है? एक तरफ यह सही लगता है क्योंकि मैं आसानी से अपने आईडी द्वारा एक छात्र को पुनः प्राप्त कर सकता हूं, हालांकि, ऐसा लगता है कि मैं आईडी को थोड़ा अनावश्यक रूप से संग्रहीत कर रहा हूं, जो पहले से ही छात्र वस्तु के भीतर मौजूद है - इसलिए मैं सॉर्ट कर रहा हूं इसे दो बार संग्रहित करने के लिए, लेकिन कुंजी लुकअप तंत्र है।
मेरे ऐड होगा कुछ की तरह:
public void add(Student s) {
lookup.put(s.getId(), s);
}
मैं यही करता हूं। आप अपने छात्र ऑब्जेक्ट पर बराबर() और हैशकोड विधियों को भी लागू कर सकते हैं –
डेटा संरचनाएं भावनाओं के बारे में नहीं हैं – wero