के लिए यह लेख इन दो दृष्टिकोणों के बीच दक्षता के अंतर की पड़ताल करता है। यह आंतरिक रूप से iterator का उपयोग करता है:
सूची
यह ट्रैवर्सल प्रक्रिया पर कस्टम नियंत्रण की अनुमति देता है।
for (iterator
for-ae-e-&&& &&&]
Lista = new ArrayList(); for (Integer integer : a) { integer.toString(); }
aload 1 InvokeInterface java/Util/list.iterator () ljava/util/iterator; एस्टोर 3 ...
iterator
Listसूचीa = new ArrayList(); for (Iterator iterator = a.iterator(); iterator.hasNext();) { Integer integer = iterator.next(); integer.toString(); }
aload 1 InvokeInterface java/Util/list.iterator () ljava/util/iterator; Astore 2 ...
जैसा कि आप देख सकते हैं, उत्पन्न बायटेकोड समान है, या तो दृष्टिकोण का उपयोग करने में कोई प्रदर्शन दंड का संकेत देता है। विशिष्ट डेटा संरचनाओं के साथ काम करने या कस्टम पुनरावृत्ति व्यवहार की आवश्यकता होने पर पुनरावृत्ति केवल लाभ प्रदान करता है। सादगी और पठनीयता के लिए, फॉर-एई-लूप आमतौर पर पसंदीदा विकल्प है।अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3