तो मैं Neo4j एपीआई के साथ काफी बड़े पैमाने पर काम कर रहा है, और मैं देखा है कि लगभग हमेशा वे कार्य जो लौटसूची, सेट, संग्रह के बजाय Iterable <String> वापस कब करें?
Iterable<Class>
जबकि मैं हमेशा समझ लिया है कि यह बेहतर है सेट में से एक वापस करने के लिए, सूची होगा , या संग्रह जब तक कि किसी के पास अन्यथा करने के लिए एक अनिवार्य कारण नहीं है। उपयोगकर्ता को इंगित करने के लिए सेट करें कि इसमें कभी भी डुप्लिकेट तत्व नहीं होंगे, ऑर्डर महत्वपूर्ण होने पर सूचीबद्ध करें या इसमें डुप्लीकेट या संग्रह हो, जब आपके पास पॉलिसी न हो।
मैं इन्हें इटरटेबल पसंद करता हूं क्योंकि उनके पास उपयोगी उपयोगिताएं हैं जैसे .contains(), .add() आदि। मुझे पता चला है कि अक्सर मुझे एक संग्रह में एक इटेबल को परिवर्तित करने के लिए कोड लिखना होता है।
तो मेरा सवाल है: क्या मुझे कुछ महत्वपूर्ण याद आ रही है? संग्रह पर Iterable का उपयोग करने के लिए एक अच्छा कारण है? आप ऐसा कब करेंगे? जाहिर है, नियो 4j के लोग पहली दर प्रोग्रामर प्रतीत होते हैं, इसलिए मुझे लगता है कि उनके पास इसका कारण है, लेकिन मैं इसे नहीं देख सकता।
हाँ, यह ज्यादातर परिणामों के आलसी मूल्यांकन के बारे में है। संग्रह कक्षाएं सभी उत्सुक हैं। असल में इटेरेबल एक 'इंटरएटर' के लिए सिंटैक्टिक चीनी है जो एक थैलेर के भीतर एकल इटरेटर का उपयोग करने की अनुमति देता है –