जावा मधील Iterator आणि गणती इंटरफेस दरम्यान फरक

लेखक: Laura McKinney
निर्मितीची तारीख: 2 एप्रिल 2021
अद्यतन तारीख: 17 मे 2024
Anonim
#11.1 संकलन आणि जेनेरिक | इटरेटर इंटरफेस
व्हिडिओ: #11.1 संकलन आणि जेनेरिक | इटरेटर इंटरफेस

सामग्री


कोणत्याही संग्रहातील घटकांमध्ये एक करून एक प्रवेश करण्यासाठी वापरल्या जाणार्‍या तीन कर्सर आहेत गणन, Iterator आणि यादी शोधक. तरीसुद्धा, इटेटर आणि गणक समान कार्य करण्यासाठी आहेत. तरीही, ते मोजण्यातील घटकांमध्ये केवळ गणनेपर्यंत केवळ वाचनीय प्रवेश आहे या अर्थाने ते एकमेकांपासून वेगळे आहेत. दुसर्‍या बाजूला, इलेटर वाचन तसेच संकलनातील घटक काढू शकतो. इटेटर आणि गणनेत महत्त्वाचा फरक आहे गणन संकलन वर्गांवर लागू केले जाऊ शकत नाही ते फक्त लेगसी वर्गांवरच लागू आहे. दुसरीकडे, द Iterator म्हणूनच संग्रह वर्गांवर लागू आहे, याला सार्वत्रिक कर्सर म्हणून संबोधले जाते. खाली दर्शविलेले तुलना चार्टच्या मदतीने इटेटर आणि गणनेत आणखी काही फरक जाणून घेऊया.

  1. तुलना चार्ट
  2. व्याख्या
  3. मुख्य फरक
  4. निष्कर्ष

तुलना चार्ट

तुलनासाठी आधारIterator गणन
मूलभूतआयटेटर हा एक सार्वत्रिक कर्सर आहे कारण तो सर्व संग्रह वर्गासाठी लागू आहे.गणनेत वैश्विक कर्सर नाही कारण ते फक्त लेगसी वर्गांवरच लागू होते.
प्रवेशआयटरचा वापर करून आपण संग्रहातील घटक वाचू आणि काढू शकता.गणनेचा वापर करून आपण केवळ संग्रहातील घटक वाचू शकता.
पद्धतीपब्लिक बुलियन हॅनेक्स्ट ();
सार्वजनिक वस्तू पुढील ();
सार्वजनिक शून्य काढा ();
पब्लिक बुलियनमध्ये मोरइलीमेंट्स () आहेत;
सार्वजनिक ऑब्जेक्ट नेक्स्टमेंट ();
मर्यादाइटररेटर एक दिशानिर्देशात्मक अग्रेषित प्रवेश कर्सर आहे.
आयटर संग्रहातील कोणत्याही घटकास पुनर्स्थित करू शकत नाही.
आयटर संग्रहात कोणतेही नवीन घटक जोडू शकत नाही.
गणना एक दिशानिर्देशात्मक अग्रेषित प्रवेश कर्सर आहे.
गणनेत केवळ वारसा वर्गास समर्थन आहे.
गणनेत संग्रहातील घटकांवर केवळ वाचनीय प्रवेश आहे.
मात करणेIterator च्या मर्यादा मात करण्यासाठी आपण यादी शोधक निवडणे आवश्यक आहे.गणनेच्या मर्यादांवर मात करण्यासाठी आपण आयटरची निवड करणे आवश्यक आहे.


Iterator इंटरफेस व्याख्या

Iterator संग्रह फ्रेमवर्क मध्ये एक इंटरफेस आहे. इलेटर सर्व संग्रह वर्गांवर लागू होत असल्याने, याला सार्वत्रिक कर्सर म्हणून संबोधले जाते. हे संग्रहातील घटकांकडे एक-एक करून प्रवेश करण्यासाठी वापरण्यात येणारा कर्सर आहे. आयटरचा वापर करून, आपण संकलनामधून घटक पुनर्प्राप्त करू शकता आणि आपण इच्छित असल्यास आपण संग्रहातून घटक देखील काढू शकता. खाली दिलेल्या प्रमाणे आयटरची ऑब्जेक्ट तयार केली जाऊ शकते.

Iterator itr = Collc.iterator ();

चल itr Iterator चे ऑब्जेक्ट आहे. Collc इटेटरच्या ऑब्जेक्ट (itr) चा वापर करून सायकल किंवा पुनरावृत्ती होणारी कोणतीही संग्रह वस्तू आहे. द पुनरावृत्ती करणारा () आयटरर ऑब्जेक्ट तयार करण्यासाठी वापरली जाणारी पद्धत आहे. खाली दर्शविल्याप्रमाणे इटेटरमध्ये तीन पद्धती आहेत.

पब्लिक बुलियन हॅनेक्स्ट (); सार्वजनिक ऑब्जेक्ट पुढील (); सार्वजनिक शून्य काढा ();

पहिली पद्धत मागील () संग्रहामध्ये कोणतेही घटक आहेत किंवा नाही याची तपासणी करते. संग्रहामध्ये घटक असल्यास ते खरे परत येईल अन्यथा चुकीचे परत येईल. दुसरी पद्धत पुढे() संग्रहातील पुढील घटक पुनर्प्राप्त करण्यासाठी वापरले जाते. तिसरी पद्धत () काढा संकलनातील घटक हटविण्यासाठी वापरले जाते.


आयटेटर केवळ प्रवासात मागे जाऊ शकत नाही अशा केवळ पुढच्या दिशेने संग्रहात प्रवास करू शकतो. आयटर संग्रहातून घटक काढून टाकू शकतो परंतु विद्यमान घटकास नवीन घटकासह पुनर्स्थित करण्याची क्षमता नाही परंतु ती संकलनात कोणताही नवीन घटक जोडू शकत नाही. या मर्यादांवर मात करण्यासाठी आपण listIterator इंटरफेसवर जाऊ शकता.

गणती इंटरफेसची व्याख्या

गणन ला लागू असलेला इंटरफेस आहे वारसा वर्ग आणि कोणत्याही संग्रह वर्गास लागू केले जाऊ शकत नाही. म्हणून, हा सार्वत्रिक कर्सर नाही. गणनेने संग्रहातून एक-एक करून घटक (ऑब्जेक्ट) पुनर्प्राप्त केला. गणनाच्या ऑब्जेक्टमध्ये संग्रहातील घटकांवर केवळ-वाचनीय प्रवेश आहे. गणन ऑब्जेक्ट संग्रहातून कोणताही घटक बदलू शकत नाही. आता गणन ऑब्जेक्ट कसे तयार करायचे ते पाहू.

गणनेची एर = व्हॅक्ट.इलिमेंट्स ();

चल एर हे गणनेचे ऑब्जेक्ट आहे. द Vect वेक्टर वर्गाचा ऑब्जेक्ट आहे ज्यास एन्युमेरेशनच्या ऑब्जेक्ट (एर) ने ट्रॅव्हर्स करावे. पद्धत घटक() एन्युमोरेशन चे ऑब्जेक्ट तयार करण्यासाठी वापरले जाते. खाली दर्शविल्याप्रमाणे गणन इंटरफेसमध्ये फक्त दोन पद्धती आहेत.

पब्लिक बुलियनमध्ये मोरइलीमेंट्स () आहेत; सार्वजनिक नेक्स्टमेंट ();

पहिली पद्धत hasMoreElements () संग्रहामध्ये त्यामध्ये घटक आहेत की नाही ते रिक्त आहे याची स्थिती तपासण्यासाठी वापरली जाते. संग्रहामध्ये मूलद्रव्ये () पद्धत असल्यास घटक परत असल्यास सत्य परत येते आणि चुकीचे परत येते. दुसरी पद्धत पुढील घटक () संग्रहातून घटक पुनर्प्राप्त करण्यासाठी एकामागून एक वापरले जाते. ट्रॅव्हर्सिंग पूर्ण झाल्यावर पुढील एलीमेंट () पद्धत थ्रो करते NoSuchElementException. एन्युमेरेशन ऑब्जेक्ट केवळ पुढील दिशेने प्रवास करते. हे संग्रहात कोणतेही घटक जोडू किंवा काढू किंवा पुनर्स्थित करू शकत नाही. गणनेच्या या मर्यादांवर मात करण्यासाठी आपण आयटरची निवड करणे आवश्यक आहे.

  1. इटेटर आणि गणनेमधील मुख्य फरक असा आहे की इटेटर हा एक सार्वत्रिक कर्सर आहे, जो कोणत्याही संग्रह ऑब्जेक्टला पुनरावृत्ती करण्यासाठी वापरला जाऊ शकतो. दुसरीकडे, गणनेचा वापर केवळ लेगसी क्लासच्या ट्रॅव्हर्सिंग ऑब्जेक्टसाठी केला जातो.
  2. गणन ऑब्जेक्ट मध्ये संग्रहातील घटकांवर केवळ वाचनीय प्रवेश आहे. तथापि, इटेटरचा ऑब्जेक्ट संग्रहातून घटक वाचू आणि काढू शकतो.
  3. इट्रेटरच्या दोन पद्धती आहेत संग्रहांपैकी एक स्थिती तपासण्यासाठी आणि एक संग्रहातून घटक पुनर्प्राप्त करण्यासाठी. गणनेच्या पद्धती व्यतिरिक्त संग्रहातून घटक काढून टाकण्यासाठी आयटरची आणखी एक पद्धत आहे.
  4. गणनेची मर्यादा ही अग्रेषित दिशानिर्देशात्मक कर्सर आहे, त्यात केवळ-वाचनीय प्रवेश आहे आणि हे संग्रह वर्गांवर लागू केले जाऊ शकते. दुसर्‍या मार्गाने, इलेटर संग्रहात कोणतेही नवीन घटक बदलू किंवा जोडू शकत नाही आणि गणिताप्रमाणेच त्याचे अग्रेषित दिशानिर्देशिक कर्सर देखील बदलू शकत नाही.
  5. गणनेची मर्यादा आयटेटरद्वारे सोडविली जाते आणि लिटरइटरद्वारे इटरटरच्या मर्यादांचे निराकरण केले जाते.

निष्कर्ष:

आजकाल, आयटेटर आणि लिस्टिटरटर कर्सर वापरला जातो कारण ते सार्वत्रिक कर्सर आहेत आणि गणितापेक्षा बरेच कार्यक्षम आहेत.