संक्षेप में: अंतर्निहित प्रतिनिधित्व पर निर्भर सभी कोड बदल सकते हैं यदि आप प्रतिनिधित्व को बदलने का निर्णय लेते हैं।
उदा।, आपने पहले TreeMap
का उपयोग करने का निर्णय लिया है, लेकिन फिर आप अब ऑर्डरिंग नहीं करना चाहते हैं (ज्यादातर मामलों में), तो आप HashMap
पर बदल सकते हैं। कोई बढ़ती सूची पाने की कोशिश कर रहे आपके मानचित्र के माध्यम से लूपिंग कर रहा है। !!
इटरेटर पैटर्न का उपयोग करके, आप हमेशा उपयोगकर्ता को एक निश्चित तर्क (या केवल यादृच्छिक, जो एक प्रकार का तर्क है) के साथ कुछ हद तक लूप करने की क्षमता दे सकता है, यह जानने के बिना कि यह हुड के नीचे क्या है।
अब, अगर आप TreeMap
के बजाय HashMap
उपयोग करते हैं, आप उपयोगकर्ता के लिए एक क्रमबद्ध दृश्य का पर्दाफाश हो सकता है।यदि आप यह SortedIterator
प्रदान करते हैं और उपयोगकर्ता को बताते हैं "इसका उपयोग करके परिणाम को सॉर्ट करने की गारंटी मिलेगी, लेकिन मैं आपको नीचे के बारे में कुछ भी नहीं बता सकता", आप जो भी चाहें प्रतिनिधित्व करने के लिए प्रतिनिधित्व बदल सकते हैं, जब तक इसका अनुबंध SortedIterator
आपके द्वारा बनाए रखा जाता है।
स्रोत
2013-05-20 17:09:31
संक्षेप में, आप (उपयोगकर्ता) 'एररलिस्ट', 'हैश मैप', 'हैशसेट', 'ट्रीसेट' के लिए एक ही तरह से 'इटरेटर' का उपयोग करते हैं। आपको –