जावा में किसी संग्रह से किसी तत्व को हटाने के लिए इटरेटर विधि का उपयोग कैसे करें?

Java Mem Kisi Sangraha Se Kisi Tatva Ko Hatane Ke Li E Itaretara Vidhi Ka Upayoga Kaise Karem



इटरेटर 'विधि किसी संग्रह पर पुनरावृत्ति करते समय विशिष्ट डेटा तत्वों को हटाने या हटाने का एक सुरक्षित और आसान तरीका प्रदान करती है। यह 'की घटना को रोकता है' समवर्ती संशोधन अपवाद ” जो तब उत्पन्न होता है जब एन्हांस्ड फॉर लूप संग्रह को संशोधित करने का प्रयास करता है। यह वर्तमान स्थिति का ट्रैक संग्रहीत करता है और प्रोग्रामर को आगे बढ़ने और आवश्यकतानुसार अंतर्निहित तत्वों को हटाने का मौका प्रदान करता है।

यह ब्लॉग इटरेटर विधि का उपयोग करके किसी संग्रह से किसी तत्व को हटाने की प्रक्रिया को प्रदर्शित करता है।







जावा में किसी संग्रह से किसी तत्व को हटाने के लिए इटरेटर विधि का उपयोग कैसे करें?

पुनरावर्तक विधि यूनिडायरेक्शनल है और इसका उपयोग विभिन्न संग्रह प्रकारों के साथ किया जा सकता है, जिनमें ' ArrayList”, “LinkedList ', आदि। यह किसी भी संग्रह से तत्वों को हटाने का एक समान तरीका प्रदान करता है जो ' को लागू करता है चलने योग्य ' इंटरफेस।



आइए पुनरावर्तक विधि को बेहतर ढंग से समझने के लिए कुछ उदाहरण देखें:



उदाहरण 1: इटरेटर विधि का उपयोग करके संग्रह से विशिष्ट तत्वों को हटाना

पुनरावर्तक विधि का उपयोग 'के साथ किया जा सकता है' अगर निर्दिष्ट तत्वों का चयन करने के लिए कथन या लूप। और फिर ' निकालना ()' विधि का उपयोग विलोपन ऑपरेशन करने के लिए किया जाता है जैसा कि नीचे दिखाया गया है:





आयात java.util.* ;
कक्षा IterExam
{
जनता स्थिर खालीपन मुख्य ( डोरी [ ] तर्क )
{
सारणी सूची < पूर्णांक > डेमोअरेलिस्ट = नया सारणी सूची < पूर्णांक > ( ) ;
के लिए ( int यहाँ मैं = 0 ; मैं <= बीस ; मैं = मैं + 2 )
{
डेमोअरेलिस्ट। जोड़ना ( मैं ) ;
}
इटरेटर < पूर्णांक > आईटीआर = डेमोअरेलिस्ट। इटरेटर ( ) ;
प्रणाली . बाहर . println ( 'प्रदान की गई सारणी सूची:' ) ;

के लिए ( int यहाँ मैं = 0 ; मैं < डेमोअरेलिस्ट। आकार ( ) ; मैं ++ )
{
प्रणाली . बाहर . छपाई ( डेमोअरेलिस्ट। पाना ( मैं ) + ' ' ) ;
}
जबकि ( आईटीआर. अगला है ( ) )
{
अगर ( आईटीआर. अगला ( ) % 3 == 0 )
आईटीआर. निकालना ( ) ;
}
प्रणाली . बाहर . println ( ' \एन अजीब ArrayList तत्वों को हटाने के बाद' ) ;
के लिए ( int यहाँ मैं = 0 ; मैं < डेमोअरेलिस्ट। आकार ( ) ; मैं ++ )
{
प्रणाली . बाहर . छपाई ( डेमोअरेलिस्ट। पाना ( मैं ) + ' ' ) ;
}
}
}

उपरोक्त कोड का विवरण:

  • सबसे पहले, ArrayList बनाई जाती है और फिर “का एक गुणज” 2 की सीमा तक डाला गया है। बीस 'की मदद से' के लिए ' कुंडली।
  • इसके बाद, एक घोषणा करें इटरेटर कंसोल पर ArrayList के तत्वों को प्रदर्शित करने के लिए विधि ऑब्जेक्ट।
  • फिर, 'का उपयोग करें अगला है ()' सभी जीवित ऐरेलिस्ट तत्वों के माध्यम से पार करने के लिए इटरेटर ऑब्जेक्ट के साथ विधि।
  • उसके बाद, ' अगर 'कथन का उपयोग उन तत्वों की जांच करने के लिए किया जाता है जो 'से पूरी तरह से विभाज्य हैं 3 ' इसके अंदर।
  • फिर ' निकालना ()' विधि का उपयोग उन तत्वों को हटाने के लिए किया जाता है जो ' द्वारा लौटाए जाते हैं अगर ' कथन।
  • अंत में, अद्यतन ArrayList को 'का उपयोग करके प्रदर्शित किया गया है के लिए ' कुंडली।

संकलन के बाद:



आउटपुट विशिष्ट तत्वों को प्रदर्शित करता है, जो तीन से विभाज्य होते हैं और एक इटरेटर विधि का उपयोग करके ArrayList से हटा दिए जाते हैं।

उदाहरण 2: संग्रह से सभी तत्वों को हटाना

संग्रह के सभी जीवित तत्वों को हटाने के लिए, पुनरावर्तक विधि का उपयोग इसके 'के साथ किया जा सकता है' निकालना ()' विधि जैसा कि नीचे दिखाया गया है:

आयात java.util.* ;
कक्षा शून्यता
{
जनता स्थिर खालीपन मुख्य ( डोरी आर्ग [ ] )
{
वेक्टर < पूर्णांक > परीक्षणवेक्टर = नया वेक्टर < पूर्णांक > ( ) ;
परीक्षणवेक्टर। जोड़ना ( 18 ) ;
परीक्षणवेक्टर। जोड़ना ( इक्कीस ) ;
परीक्षणवेक्टर। जोड़ना ( 25 ) ;
परीक्षणवेक्टर। जोड़ना ( 27 ) ;
परीक्षणवेक्टर। जोड़ना ( 30 ) ;

इटरेटर < पूर्णांक > पार = परीक्षणवेक्टर। इटरेटर ( ) ;
प्रणाली . बाहर . छपाई ( 'मौजूदा तत्व:' ) ;
जबकि ( पार करना। अगला है ( ) )
प्रणाली . बाहर . छपाई ( पार करना। अगला ( ) + ' ' ) ;
प्रणाली . बाहर . छपाई ( ' \एन टेस्टवेक्टर में शामिल है ' + परीक्षणवेक्टर। आकार ( ) + 'तत्व' ) ;
पार = परीक्षणवेक्टर। इटरेटर ( ) ;
जबकि ( पार करना। अगला है ( ) )
{
प्रणाली . बाहर . छपाई ( ' \एन हटाना' + पार करना। अगला ( ) ) ;
पार करना। निकालना ( ) ;
}
प्रणाली . बाहर . println ( ' \एन अब, टेस्टवेक्टर में ' शामिल है + परीक्षणवेक्टर। आकार ( ) + 'तत्व' ) ;
}
}

कोड का विवरण:

  • सबसे पहले, घोषित करें और प्रारंभ करें ' वेक्टर ' का उपयोग करके डमी पूर्णांक प्रकार मानों के साथ जोड़ना ()' तरीका।
  • इसके बाद, एक पुनरावर्तक विधि बनाएं जो ' का उपयोग करती है अगला है ()' और ' अगला ()'' तरीके। यह जीवित डेटा तत्वों और उनके संबंधित आकार को प्रदर्शित करता है।
  • फिर, 'का उपयोग करें अगला है ()'' के अंदर इटरेटर ऑब्जेक्ट के साथ संपत्ति जबकि ' कुंडली।
  • उसके बाद, 'का उपयोग करें अगला ()' आगामी तत्व का चयन करने की विधि, और फिर, निकालना प्रत्येक प्राप्त तत्व को हटाने के लिए () विधि को कॉल किया जाता है।
  • इस प्रकार, वेक्टर के सभी तत्व हटा दिए जाते हैं और वेक्टर का आकार कंसोल पर प्रदर्शित होता है।

कोड का विवरण:

उपरोक्त कोड पुष्टि करता है कि संग्रह से सभी तत्व हटा दिए गए हैं।

उदाहरण 3: ListIterator का उपयोग करके तत्व को हटाना

ListIterator, iterator विधि के समान ही काम करता है। ListIterator आगे और पीछे की दिशाओं में दोनों तरफ ट्रैवर्सिंग करता है। जावा में ListIterator का उपयोग करके संग्रह से विशिष्ट तत्वों को हटाने के लिए, नीचे दिए गए कोड पर जाएँ:

आयात java.util.ArrayList ;
आयात java.util.ListIterator ;
जनता कक्षा ListIteratorDemo {

//मुख्य() विधि प्रारंभ करना
जनता स्थिर खालीपन मुख्य ( डोरी [ ] तर्क )
{ // ArrayList को घोषित करना और प्रारंभ करना
सारणी सूची < डोरी > वयस्क = नया सारणी सूची < डोरी > ( ) ;
वयस्क जोड़ना ( 'टोपी वाला स्वेटर' ) ;
वयस्क जोड़ना ( 'ध्रुव' ) ;
वयस्क जोड़ना ( 'हेनलेज़' ) ;
वयस्क जोड़ना ( 'पसीना' ) ;
वयस्क जोड़ना ( 'अनौपचारिक' ) ;
वयस्क जोड़ना ( 'विलासिता' ) ;
वयस्क जोड़ना ( 'ड्राइ फ़िट' ) ;


ListIterator < डोरी > लीटर = वयस्क listIterator ( ) ;
प्रणाली . बाहर . println ( 'हटाने से पहले सूची' ) ;
के लिए ( int यहाँ मैं = 0 ; मैं < वयस्क आकार ( ) ; मैं ++ )
प्रणाली . बाहर . छपाई ( वयस्क पाना ( मैं ) + ' ' ) ;
जबकि ( लीटर. अगला है ( ) ) {
अगर ( लीटर. अगला ( ) . के बराबर होती है ( 'पसीना' ) ) {
लीटर. निकालना ( ) ;
}
}
प्रणाली . बाहर . println ( ' \एन हटाने के बाद सूची' ) ;
के लिए ( int यहाँ मैं = 0 ; मैं < वयस्क आकार ( ) ; मैं ++ )
प्रणाली . बाहर . छपाई ( वयस्क पाना ( मैं ) + ' ' ) ;
}
}

उपरोक्त कोड का विवरण:

  • सबसे पहले, डमी स्ट्रिंग प्रकार मानों के साथ ArrayList को घोषित और आरंभ करें और 'का उपयोग करके कंसोल पर सभी तत्वों को प्रदर्शित करें' के लिए ' कुंडली।
  • इसके बाद, एक ऑब्जेक्ट बनाएं जो 'कहता है' अगला है ()'' के अंदर विधि जबकि ' कुंडली। यह सभी जीवित तत्वों से होकर गुजरता है।
  • फिर ' अगर ' कथन का उपयोग किया जाता है जो प्रत्येक तत्व को विशिष्ट पाठ के साथ जांचता है, जब वह तत्व ' से मेल खाता है निकालना ()'' विधि कहलाती है। यह 'से विशिष्ट तत्व को हटा देता है कला “ArrayList नाम दिया गया।
  • अंत में, संशोधित ArrayList को कंसोल पर प्रदर्शित करें।

संकलन के बाद:

स्नैपशॉट पुष्टि करता है कि निर्दिष्ट डेटा तत्व को ListIterator का उपयोग करके संग्रह से हटा दिया गया है।

निष्कर्ष

किसी संग्रह से तत्व को हटाने के लिए, ' निकालना ()'' पुनरावर्तक की विधि का उपयोग किया जाता है। लक्षित डेटा को खोजने के लिए पुनरावर्तक ArrayList के माध्यम से घूमता है। एक बार यह मिल जाए तो ' निकालना ()' विधि का उपयोग उस विशिष्ट डेटा तत्व को हटाने के लिए किया जाता है। यह विभिन्न संग्रहों में एक मानकीकृत तकनीक प्रदान करता है और मुद्दों और कई अपवादों की घटना को रोकता है जैसे ' समवर्ती संशोधन अपवाद ”। इसके साथ ही '' ListIterator '' भी मददगार हो सकता है.