मैं एक नौसिखिया हूं और मैं Iterable
इंटरफेस के वास्तविक प्रभाव को समझ नहीं पा रहा हूं।इटरबल इंटरफ़ेस का उपयोग किस लिए किया जाता है?
उत्तर
जेरेमी ने जो कहा उसके अलावा, इसका मुख्य लाभ यह है कि इसमें सिंटैक्टिक चीनी का अपना थोड़ा सा हिस्सा है: enhanced for-loop। यदि आप हैं, कहते हैं, एक Iterable<String>
, तो आप कर सकते हैं:
for (String str : myIterable) {
...
}
अच्छा और आसान है, है ना? Iterator<String>
बनाने के सभी गंदे काम, यह जांच कर रहे हैं कि यह hasNext()
है, और str = getNext()
पर कॉल करने से संकलक द्वारा दृश्यों के पीछे संभाला जाता है।
और चूंकि अधिकांश संग्रह या तो Iterable
लागू करने या एक राय यह है कि रिटर्न है एक, इस संग्रह के साथ बहुत आसान काम कर रहा है (जैसे Map
के keySet()
या values()
के रूप में)।
Iterable
JavadocIterable
को लागू करने वाले वर्गों की पूरी सूची देता है।
यदि आपके पास एक जटिल डेटा सेट है, जैसे पेड़ या हेलीकल कतार (हाँ, मैंने अभी इसे बनाया है), लेकिन आप परवाह नहीं करते यह आंतरिक रूप से कैसे संरचित है, तो आप बस सभी तत्वों को प्राप्त करना चाहते हैं एक करके, आप इसे एक पुनरावर्तक वापस करने के लिए मिलता है।
प्रश्न में जटिल वस्तु, यह एक पेड़ या कतार या एक WombleBasket लागू Iterable हो, और एक इटरेटर ऑब्जेक्ट वापस कर सकते हैं कि आप Iterator विधियों का उपयोग कर क्वेरी कर सकते हैं।
इस तरह, आप इसे पूछ सकते हैं कि यह hasNext()
है, और यदि ऐसा होता है, तो आपको next()
आइटम मिलता है, बिना पेड़ से या कहीं भी इसे प्राप्त करने के लिए।
आईटरेटर मूल रूप से किसी संग्रह पर पुनरावृत्ति की अनुमति देते हैं।
जावा के प्रत्येक नियंत्रण कथन के लिए यह भी आवश्यक है।
यह java.util.Iterator
देता है। यह मुख्य रूप से लागू करने प्रकार संकलक list.iterator()
और दोहराता यह आप पाश के लिए i
अंदर देने के कॉल हुड के अंतर्गत पाश
List<Item> list = ...
for (Item i:list) {
// use i
}
के लिए बढ़ाया में उपयोग करने के लिए सक्षम होने के लिए प्रयोग किया जाता है।
एक इंटरफ़ेस अपने दिल में विधियों की एक सूची है जो एक वर्ग को लागू करना चाहिए। पुनरावर्तनीय इंटरफ़ेस बहुत आसान है - लागू करने के लिए केवल एक ही विधि है: Iterator()
। जब कोई वर्ग Iterable
इंटरफ़ेस लागू करता है, तो यह अन्य वर्गों को बता रहा है कि आप ऑब्जेक्ट में डेटा (यानी, ट्रैवर्स) को फिर से चलाने के लिए उपयोग करने के लिए Iterator
ऑब्जेक्ट प्राप्त कर सकते हैं।
- 1. Google Analytics '__utm.gif का उपयोग किस लिए किया जाता है?
- 2. जावास्क्रिप्ट पैकेज कीवर्ड का उपयोग किस लिए किया जाता है?
- 3. .NET: ऑब्जेक्ट हेडर का उपयोग किस लिए किया जाता है?
- 4. किस उद्देश्य के लिए Django का उपयोग किया जाता है?
- 5. SOAP - नेमस्पेस, इसका उपयोग किस लिए किया जाता है?
- 6. जीआईटी और एसएसएच, किस कुंजी का उपयोग किया जाता है?
- 7. किस वर्ग लोडर का उपयोग किया जाता है?
- 8. AssemblyInfo.cs के लिए उपयोग किया जाता है?
- 9. लेआउट का उपयोग कैसे किया जाता है?
- 10. PostgreSQL का विश्लेषण करने के लिए किस प्रकार का व्याकरण उपयोग किया जाता है?
- 11. @JsonProperty प्रॉपर्टी का उपयोग कब किया जाता है और इसके लिए क्या उपयोग किया जाता है?
- 12. ^रूबी में किस लिए प्रयोग किया जाता है?
- 13. जावा प्रोग्राम के निष्पादन को समाप्त करने के लिए किस विधि का उपयोग किया जाता है?
- 14. जावा में आपकी विधि को नष्ट करने के लिए किस विधि का उपयोग किया जाता है
- 15. Google स्वयं ड्राइविंग कार सॉफ़्टवेयर बनाने के लिए किस भाषा का उपयोग किया जाता है?
- 16. लेबल के लिए Google मानचित्र पर किस फ़ॉन्ट का उपयोग किया जाता है?
- 17. एचएल 7 जेडडीएस सेगमेंट का उपयोग किस लिए किया जाता है?
- 18. यह पता लगाने के लिए कि किस ड्रॉबल संसाधन का उपयोग किया जाता है?
- 19. सी # कक्षा प्रोजेक्ट में, असेंबली कल्चर का उपयोग किस लिए किया जाता है?
- 20. जावा: नीचे दी गई आरेख बनाने के लिए किस लाइब्रेरी का उपयोग किया जाता है?
- 21. अपरिवर्तनीय मानचित्रों के लिए किस प्रकार की डेटा संरचना का उपयोग किया जाता है?
- 22. ज़ेंड प्लगइन्स के लिए किस निर्देशिका का उपयोग किया जाता है?
- 23. क्यों ओजीआई का उपयोग किया जाता है?
- 24. ImmutableObjectAttribute का उपयोग कैसे किया जाता है?
- 25. + = के लिए क्या उपयोग किया जाता है?
- 26. सुहोसिन का उपयोग क्यों किया जाता है?
- 27. स्ट्रिंगियो का उपयोग कब किया जाता है?
- 28. क्या कोई बता सकता है कि किस संदेश दलाल के लिए उपयोग किया जाता है?
- 29. आईफोन में जीएलएसएल का किस संस्करण का उपयोग किया जाता है?
- 30. डिस्पिंटरफेस घोषणाओं के लिए क्या उपयोग किया जाता है?
आह - बहुत धीमी ;-) –
अभी तक का सबसे अच्छा जवाब है। –