क्या होगा यदि कोई तरीका था कि आप एक चर घोषित कर सकते हैं जो एकाधिक मानों को संग्रहीत करता है? वहाँ है? एक दम बढ़िया। जावा में, एक अवधारणा है जिसे एक सरणी कहा जाता है जो आपको ठीक ऐसा करने की अनुमति देता है। आप एक वेरिएबल में कई मान स्टोर कर सकते हैं, जो आपके कोड को साफ और सुव्यवस्थित रखने में मदद करता है।
इस गाइड में, हम चर्चा करने जा रहे हैं कि सरणियाँ कैसे काम करती हैं, उनका उपयोग क्यों किया जाता है, और आप किसी सरणी की सामग्री में कैसे हेरफेर कर सकते हैं। हम यह दिखाने के लिए कुछ उदाहरण देखेंगे कि वे कैसे काम करते हैं।
सरणी क्या है?
एक सरणी, जिसे सूची के रूप में भी जाना जाता है, एक डेटा संरचना है जिसमें तत्वों का क्रमबद्ध अनुक्रम होता है। आप एक सरणी में शून्य या अधिक आइटम स्टोर कर सकते हैं, लेकिन वे सभी एक ही प्रकार के होने चाहिए। उदाहरण के लिए, एक सरणी एक सौ तार या बावन संख्याओं को संग्रहीत कर सकती है।
Arrays उपयोगी हैं क्योंकि वे समान मानों को एक साथ समूहित करने में आपकी सहायता करते हैं। मान लीजिए कि आप कॉफी प्रकारों की एक सरणी परिभाषित कर रहे हैं। प्रत्येक प्रकार की कॉफी को अपने स्वयं के चर के रूप में घोषित करने के बजाय, आप उन्हें एक साथ एक सरणी में समूहित कर सकते हैं।
एक बार जब आप एक सरणी घोषित कर लेते हैं, तो आप इसके माध्यम से पुनरावृति करके सरणी में प्रत्येक मान पर समान तरीके और संचालन कर सकते हैं।
सरणियों के बारे में सोचने का एक तरीका मूल्यों के संग्रह के रूप में है। आप उस टू-डू सूची को जानते हैं जिसे आपको आज प्राप्त करने की आवश्यकता है? यह एक सरणी के समान है। ऐसे कार्यों की एक सूची है जिन्हें आपको पूरा करने की आवश्यकता है, और प्रत्येक को एक विशेष क्रम में संग्रहीत किया जाता है।
एक सरणी घोषित करना
जावा में एक सरणी घोषित करना सरल है। आपको बस अपनी सरणी के लिए एक नाम चुनना है और उसका डेटा प्रकार निर्दिष्ट करना है। यहां coffees
नामक एक सरणी घोषित करने का एक उदाहरण दिया गया है :
स्ट्रिंग[] कॉफ़ी;
हमारा कोड coffees
. नामक एक सरणी बनाता है . बाईं ओर, आपके पास उस प्रकार का डेटा है जो आपके सरणी में संग्रहीत किया जाएगा। आपके पास खाली कोष्ठकों की एक जोड़ी भी है। यह आपको कोड बताता है कि आप केवल एक स्ट्रिंग चर के बजाय एक सरणी को परिभाषित करना चाहते हैं। दाईं ओर, आपको वेरिएबल का नाम मिल गया है।
81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।
बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।
हम अभी पूरी तरह से नहीं हैं। जब आप एक ऐरे की घोषणा कर रहे होते हैं, तो आपको अपने प्रोग्राम को यह बताना होता है कि आप अपने ऐरे में कितने आइटम रखना चाहते हैं। यह जावा को आपके सरणी में मूल्यों को संग्रहीत करने के लिए आवश्यक स्मृति आवंटित करने की अनुमति देता है।
हमें अपनी coffees
चाहिए हमारे स्थानीय दुकान पर हमारे तीन पसंदीदा मिश्रणों को स्टोर करने के लिए सरणी। ऐसा करने के लिए, हम अपने प्रोग्राम को बताएंगे कि हमारे ऐरे में जितने एलिमेंट्स को होल्ड करने में सक्षम होना चाहिए, वह तीन है:
कॉफ़ी =नया स्ट्रिंग[3];
यह तीन खाली मान बनाएगा जो हमारे सरणी में भरे जा सकते हैं।
सुनिश्चित करें कि आप इस बारे में सोचते हैं कि आप अपने सरणी में कितने मान संग्रहीत करना चाहते हैं। यह ध्यान रखना महत्वपूर्ण है कि एक बार जब आप एक सरणी चर के आकार को परिभाषित कर लेते हैं, तो इसे बदला नहीं जा सकता है।
हम अपने कोड को एक पंक्ति में संपीड़ित कर सकते हैं जहां हम दोनों एक सरणी घोषित करते हैं और स्मृति आवंटित करते हैं:
स्ट्रिंग[] कॉफ़ी =नया स्ट्रिंग[4];
यह एक सरणी घोषित करने का सबसे अच्छा तरीका है क्योंकि यह संक्षिप्त और सरल है। एकमात्र अवसर जहां यह विधि काम नहीं करती है, जब आप सुनिश्चित नहीं होते हैं कि आप अपने सरणी में कितने मान संग्रहीत करने जा रहे हैं। यदि ऐसा है, तो आप शायद पहले एक सरणी घोषित करना चाहते हैं, फिर मेमोरी आवंटित करें जब आपका प्रोग्राम जानता है कि कितने मान संग्रहीत होंगे।
इस मामले में, हमारी सरणी स्ट्रिंग मान रखेगी। हालाँकि, आप पूर्णांकों की एक सरणी, वस्तुओं की एक सरणी, सरणियों की एक सरणी या किसी अन्य डेटा प्रकार को धारण करने वाली सरणी भी घोषित कर सकते हैं।
ऐरे को इनिशियलाइज़ करना
हमने अभी तक अपनी सरणी सेट करने के साथ काफी कुछ नहीं किया है। अब तक, हमने एक मानक सरणी घोषित की है। परेशानी यह है कि यह अभी तक कोई मूल्य नहीं रखता है। एक चर घोषित करते समय एक सरणी के लिए प्रारंभिक मानों का एक सेट निर्दिष्ट करने के लिए वाक्य रचना है:
स्ट्रिंग[] कॉफ़ी ={ "रवांडा इज़ुबा", "फ़्रेंच रोस्ट", "वियतनाम दा ला अरेबिका" };
इस उदाहरण में, हमने अपने सरणी को तीन मान निर्दिष्ट किए हैं।
ऐरे में एलीमेंट एक्सेस करना
सरणियों की खूबी यह है कि उन्हें एक्सेस करना आसान है। रूपक रूप से, यह आपकी टू-डू सूची में किसी आइटम पर चक्कर लगाने जैसा है, जिस पर आप ध्यान केंद्रित करना चाहते हैं।
एक सरणी के अंदर, प्रत्येक आइटम को अपना विशेष नंबर दिया जाता है। इन्हें इंडेक्स नंबर कहा जाता है। सूचकांक संख्या 0 से शुरू होती है, और वे आपके सरणी में प्रत्येक आइटम के लिए 1 से बढ़ जाती हैं। निम्नलिखित सूची पर विचार करें:
- 0:रवांडा इज़ुबा
- 1:फ्रेंच रोस्ट
- 2:वियतनाम दा लाट अरेबिका
इस सूची में, रवांडा इज़ुबा मिश्रण का सूचकांक मान 0 होगा, फ्रेंच रोस्ट मिश्रण का सूचकांक मान 1 होगा, और वियतनाम दा लाट अरेबिका मिश्रण का सूचकांक मूल्य 2 होगा। आइए निम्नलिखित सरणी लें:
स्ट्रिंग[] कॉफ़ी ={ "रवांडा इज़ुबा", "फ़्रेंच रोस्ट", "वियतनाम दा ला अरेबिका" };
यदि आप इस सरणी में पहले आइटम तक पहुंचना चाहते हैं, तो आप इस कोड का उपयोग कर सकते हैं:
System.out.println(कॉफ़ी[0]);
हमारा कोड रिटर्न:रवांडा इज़ुबा।
अनुक्रमणिका मान वर्गाकार कोष्ठकों के बीच आपके सरणी में पारित किया जाता है। अनुक्रमणिका मानों के रूप में मौजूद संख्याओं की श्रेणी 0 और आपके सरणी की लंबाई से एक कम है। ऐसा इसलिए है, क्योंकि जैसा कि हमने पहले उल्लेख किया है, सरणियों को मान 0 से अनुक्रमित किया जाता है।
यदि आप किसी ऐसे इंडेक्स मान को एक्सेस करने का प्रयास करते हैं जो मौजूद नहीं है, तो एक त्रुटि वापस आ जाती है:
ArrayIndexOutOfBoundsException:इंडेक्स 3 की लंबाई 3 की सीमा से बाहर है
इस मामले में, हमने अपने सरणी में इंडेक्स वैल्यू 3 तक पहुंचने का प्रयास किया। क्योंकि हमारे सूचकांक मान केवल दो तक जाते हैं—याद रखें, सरणियों को 0 से शुरू करके अनुक्रमित किया जाता है—एक त्रुटि लौटा दी गई थी।
आइए इसे एक पायदान ऊपर ले जाएं। मान लीजिए कि आप अपने सरणी में प्रत्येक आइटम के माध्यम से जाना चाहते हैं और व्यक्तिगत रूप से उन पर एक ऑपरेशन करना चाहते हैं। हम अपने सरणी में प्रत्येक आइटम को कंसोल पर प्रिंट करने जा रहे हैं। आप इसे प्रत्येक लूप के लिए इस तरह से पूरा कर सकते हैं:
class CoffeeArray { सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {स्ट्रिंग [] कॉफ़ी ={"रवांडा इज़ुबा", "फ्रेंच रोस्ट", "वियतनाम दा ला अरेबिका"}; के लिए (स्ट्रिंग कॉफी:कॉफ़ी) { सिस्टम .out.println(कॉफी);} }}
हमारा कोड लौटाता है:
रवांडा इज़ुबाफ्रेंच रोस्टवियतनाम दा ला अरेबिका
इस उदाहरण में, हमारा कोड हमारे coffees
. में प्रत्येक आइटम के माध्यम से पुनरावृति करता है सरणी और प्रत्येक आइटम को कंसोल पर प्रिंट करता है। हमने "फॉर" लूप के बजाय प्रत्येक लूप के लिए उपयोग किया है क्योंकि इसमें काउंटर की आवश्यकता नहीं होती है, जिसका अर्थ है कि यह अधिक संक्षिप्त और पढ़ने में आसान है।
एक सरणी में आइटम बदलना
हॉस्टन हमारे पास समस्या हे। यह पता चला है कि हमारे पसंदीदा फ्रेंच मिश्रण को वास्तव में फ्रेंच रोस्ट नहीं कहा जाता है। इसे फ्रेंच क्लासिक कहा जाता है। अगर हम इसे बदलना चाहते हैं, तो हम इंडेक्सिंग का उपयोग कर सकते हैं।
निम्नलिखित कोड पर विचार करें:
class CoffeeArray { सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {स्ट्रिंग [] कॉफ़ी ={"रवांडा इज़ुबा", "फ़्रेंच रोस्ट", "वियतनाम दा ला अरेबिका"}; कॉफ़ी [1] ="फ़्रेंच क्लासिक";System.out.println(कॉफी [1]); }}पूर्व>हमने अपनी कॉफी के मूल्य को बदलने के लिए असाइनमेंट ऑपरेटर (=) का उपयोग किया है जो इंडेक्स स्थिति 1 पर मौजूद है। हमने इसका मूल्य
French Roast
से बदल दिया है।French Classic
. के लिए . हमारा कोड लौटाता है:फ़्रेंच क्लासिक.जावा ऐरे:एक उदाहरण
आइए उन सभी अवधारणाओं को एक साथ लाएं जिनकी हमने एक उदाहरण में चर्चा की है। मान लें कि हम गणना करना चाहते हैं कि हमने पिछले सप्ताह में कॉफ़ी पर कुल कितना खर्च किया है।
सबसे पहले, हम अपने प्रोग्राम के लिए क्लास और वेरिएबल सेट करने जा रहे हैं:
क्लास कॉफीप्राइस {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] तर्क) { डबल [] खरीद ={2.55, 2.75, 2.99, 3.05}; दोहरा योग =0; }}पूर्व>हमने दो चर घोषित किए हैं। एक चर हमारी खरीद की सूची को संग्रहीत करता है। अगला चर इस बात का एक काउंटर संग्रहीत करता है कि हमने कॉफी पर कितना खर्च किया है। हमारा अगला कदम प्रत्येक के लिए लूप बनाना है जो प्रत्येक कॉफी खरीद के माध्यम से लूप करता है और इसे हमारे "योग" चर में जोड़ता है:
के लिए (दोहरी खरीद :खरीद) {योग +=खरीद;}यदि हम अपना कोड चलाते हैं, तो हमारा कार्यक्रम पिछले सप्ताह में कॉफी पर खर्च की गई कुल राशि की गणना करेगा। केवल एक ही समस्या है:हमारा कार्यक्रम हमें यह नहीं बताता कि वह मूल्य क्या है! हम मान को कंसोल पर प्रिंट करके पुनः प्राप्त कर सकते हैं:
जब हम इस सभी कोड को एक साथ चलाते हैं, तो निम्नलिखित वापस आ जाता है:
आपने पिछले हफ़्ते कॉफ़ी पर 11.34 डॉलर खर्च किए हैं. कॉफ़ी पर 11.34 डॉलर. बुरा नहीं! क्या उपयोगी कार्यक्रम है।
निष्कर्ष (और चुनौती)
Arrays एक प्रकार का डेटा है जो एक ही डेटा प्रकार के कई मानों को संग्रहीत कर सकता है। आप किसी भी चीज़ के लिए एक सरणी घोषित कर सकते हैं, जैसे कि आपकी पसंदीदा पुस्तकों की सूची, किसी खेल में खिलाड़ियों की सूची, या संख्याओं की एक सूची जिसका आप औसत की गणना करना चाहते हैं।
क्या आप एक चुनौती की तलाश में हैं? पढ़ते रहिये।
एक प्रोग्राम लिखें जो एक उपयोगकर्ता को यात्रा गंतव्य का चयन करने के लिए और अधिक जानने के लिए कहता है। आपको यात्रा स्थलों को एक सरणी में संग्रहित करना चाहिए। आपको प्रत्येक गंतव्य का एक-वाक्य विवरण एक अलग सरणी में संग्रहीत करना चाहिए।
जब कोई उपयोगकर्ता कोई यात्रा गंतव्य चुनता है, तो उसे अपने यात्रा गंतव्यों की श्रेणी में खोजें, और उसकी अनुक्रमणिका संख्या की गणना करें। फिर, उस इंडेक्स नंबर का उपयोग कंसोल पर संबंधित गंतव्य के एक-वाक्य विवरण को प्रिंट करने के लिए करें।
अब आप एक पेशेवर की तरह जावा में सरणियों का उपयोग शुरू करने के लिए तैयार हैं!