चलें कहते हैं कि मैं निम्नलिखित कोड है:क्या लूप के "हालत" को इटरबेल के लिए हर बार बुलाया जाता है?
for (Object obj : Node.getIterable()) {
//Do something to object here
}
और Node.getIterable() एक iterable देता है। क्या getIterable() फ़ंक्शन हर बार या केवल लूप शुरू होने पर ही कॉल किया जाता है? क्या मुझे इसे बदलना चाहिए:
Iterable<Object> iterable = new Iterable<Object>();
//populate iterable with objects
for (Object obj : iterable) {
//Do something
}
पता लगाने का आसान तरीका ... बस एक विधि में Node.getIterable को लपेटें जो कंसोल में कुछ लिखता है (या यदि आप चाहें तो फ़ाइल)। फिर आप देख पाएंगे कि इसे कितनी बार बुलाया गया था। मेरी शर्त - इसे केवल एक बार बुलाया जाता है, लेकिन मुझे निश्चित जवाब देने के लिए पर्याप्त विश्वास नहीं है। –