Avatar ·

Java में 'for each' लूप वास्तव में कैसे काम करता है? उदाहरणों के साथ विस्तृत व्याख्या

सभी को नमस्कार! मैंने अभी Java सीखना शुरू किया है और for each लूप का सामना किया है। मुझे लगता है कि मैं समझ गया हूँ कि इसका उपयोग कैसे करना है, लेकिन मैं विवरणों में जाना चाहता हूँ: यह 'हुड के नीचे' वास्तव में कैसे काम करता है? \n\nउदाहरण के लिए, मेरे पास यह कोड है:\n\n```java\nString[] fruits = {"Apple", "Banana", "Cherry"};\nfor (String fruit : fruits) {\n System.out.println(fruit);\n}\n```\n\nमैं देखता हूँ कि यह बस array के प्रत्येक element को प्रिंट करता है। लेकिन मुझे कुछ बिंदुओं में दिलचस्पी है:\n\n1. क्या यह सामान्य for लूप पर index के साथ सिर्फ syntactic sugar है? या इसमें कुछ और है?\n2. अगर मैं लूप के अंदर fruit variable को बदलने की कोशिश करूँ तो क्या होगा? क्या array का element बदल जाएगा?\n3. क्या for each का उपयोग किसी भी collection (ArrayList, HashSet आदि) के साथ किया जा सकता है या केवल arrays के साथ?\n4. क्या for each और सामान्य for के बीच performance में कोई अंतर है?\n5. अगर मुझे लूप के अंदर element के index की आवश्यकता हो तो क्या करूँ? क्या मुझे एक अलग variable बनाना होगा?\n\nकोड उदाहरणों के साथ विस्तृत व्याख्या के लिए आभारी रहूँगा। पहले से धन्यवाद।