Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java Array: शुरुआती लोगों के लिए एक गाइड

क्या होगा अगर कोई तरीका हो जिससे आप एक वेरिएबल घोषित कर सकें जो कई मान स्टोर करता हो? है? यह बहुत अच्छा है। Java में, एक अवधारणा है जिसे array कहा जाता है जो आपको ठीक ऐसा करने की अनुमति देता है। आप एक वेरिएबल में कई मान स्टोर कर सकते हैं, जो आपके कोड को साफ और व्यवस्थित रखने में मदद करता है।

इस गाइड में, हम चर्चा करने जा रहे हैं कि arrays कैसे काम करते हैं, उनका उपयोग क्यों किया जाता है, और आप array की सामग्री को कैसे मैनिपुलेट कर सकते हैं। हम यह दिखाने के लिए कुछ उदाहरणों के माध्यम से चलेंगे कि वे कैसे काम करते हैं।

Array क्या है?

एक array, जिसे सूची के रूप में भी जाना जाता है, एक डेटा संरचना है जिसमें तत्वों का एक क्रमबद्ध क्रम होता है। आप एक array में शून्य या अधिक आइटम स्टोर कर सकते हैं, लेकिन उन सभी को एक ही प्रकार का होना चाहिए। उदाहरण के लिए, एक array सौ स्ट्रिंग्स या बावन नंबर्स स्टोर कर सकता है।

Arrays उपयोगी हैं क्योंकि वे आपको समान मानों को एक साथ ग्रुप करने में मदद करते हैं। मान लीजिए आप कॉफी प्रकारों का एक array परिभाषित कर रहे हैं। प्रत्येक प्रकार की कॉफी को अपना वेरिएबल घोषित करने के बजाय, आप उन्हें एक array में एक साथ ग्रुप कर सकते हैं।

एक बार जब आप एक array घोषित कर लेते हैं, तो आप इसमें हर मान पर समान मेथड्स और ऑपरेशन परफॉर्म कर सकते हैं इसके माध्यम से इटरेट करके।

Arrays के बारे में सोचने का एक तरीका मानों के संग्रह के रूप में है। आप जानते हैं कि वह टू-डू सूची जिसे आपको आज पूरा करना है? यह एक array के समान है। कार्यों की एक सूची है जिन्हें आपको पूरा करना है, और प्रत्येक एक विशेष क्रम में स्टोर है।

Array घोषित करना

Java में array घोषित करना सरल है। आपको बस अपने array के लिए एक नाम चुनना है और उसका डेटा प्रकार निर्दिष्ट करना है। यहां coffees नामक एक array घोषित करने का एक उदाहरण है:

String[] coffees;

हमारा कोड coffees नामक एक array बनाता है। बाईं ओर, आपके पास वह डेटा प्रकार है जिसे आपके array में स्टोर किया जाएगा। आपके पास खाली ब्रैकेट्स की एक जोड़ी भी है। यह आपके कोड को बताता है कि आप एक array परिभाषित करना चाहते हैं, न कि केवल एक स्ट्रिंग वेरिएबल। दाईं ओर, आपके पास वेरिएबल का नाम है।

हम अभी पूरी तरह से नहीं हुए हैं। जब आप एक array घोषित कर रहे होते हैं, तो आपको अपने प्रोग्राम को बताना होगा कि आप अपने array में कितने आइटम रखना चाहते हैं। यह Java को आपके array में मान स्टोर करने के लिए आवश्यक मेमोरी आवंटित करने की अनुमति देता है।

हम चाहते हैं कि हमारा coffees array हमारी स्थानीय दुकान पर हमारे तीन पसंदीदा ब्लेंड्स स्टोर करे। ऐसा करने के लिए, हम अपने प्रोग्राम को बताएंगे कि हमारे array में तत्वों की संख्या तीन होनी चाहिए:

coffees = new String[3];

यह तीन खाली मान बनाएगा जिन्हें हमारे array में भरा जा सकता है।

सुनिश्चित करें कि आप इस बारे में सोचते हैं कि आप अपने array में कितने मान स्टोर करना चाहते हैं। यह ध्यान रखना महत्वपूर्ण है कि एक बार जब आप एक array वेरिएबल का आकार परिभाषित कर लेते हैं, तो इसे बदला नहीं जा सकता।

हम अपने कोड को एक लाइन में संकुचित कर सकते हैं जहां हम एक array घोषित करते हैं और मेमोरी आवंटित करते हैं:

String[] coffees = new String[4];

यह array घोषित करने का सबसे अच्छा तरीका है क्योंकि यह संक्षिप्त और सरल है। एकमात्र अवसर जहां यह मेथड काम नहीं करता है वह तब है जब आप निश्चित नहीं हैं कि आप अपने array में कितने मान स्टोर करने जा रहे हैं। यदि ऐसा है, तो आप शायद पहले array घोषित करना चाहेंगे, फिर मेमोरी आवंटित करेंगे जब आपका प्रोग्राम जान जाएगा कि कितने मान स्टोर होंगे।

इस मामले में, हमारा array स्ट्रिंग मान रखेगा। हालाँकि, आप इंटीजर्स का array, ऑब्जेक्ट्स का array, arrays का array, या किसी अन्य डेटा प्रकार को रखने वाला array भी घोषित कर सकते हैं।

Array इनिशियलाइज़ करना

हम अपने array को सेट करने के साथ अभी पूरी तरह से नहीं हुए हैं। अब तक, हमने एक स्टैंडर्ड array घोषित किया है। परेशानी यह है कि यह अभी तक कोई मान नहीं रखता। वेरिएबल घोषित करते समय array को आरंभिक मानों का एक सेट असाइन करने का सिंटैक्स है:

String[] coffees = { "Rwanda Izuba", "French Roast", "Vietnam Da La Arabica" };

इस उदाहरण में, हमने अपने array को तीन मान असाइन किए हैं।

Array में तत्वों तक पहुँचना

Arrays की सुंदरता यह है कि वे एक्सेस करने में आसान हैं। रूपक रूप से, यह आपकी टू-डू सूची पर उस आइटम को घेरने जैसा है जिस पर आप ध्यान केंद्रित करना चाहते हैं।

एक array के अंदर, हर आइटम को अपना विशेष नंबर दिया जाता है। इन्हें इंडेक्स नंबर कहा जाता है। इंडेक्स नंबर 0 नंबर से शुरू होते हैं, और आपके array में प्रत्येक आइटम के लिए 1 से बढ़ते हैं। निम्न सूची पर विचार करें:

  • 0: Rwanda Izuba
  • 1: French Roast
  • 2: Vietnam Da Lat Arabica

इस सूची में, Rwanda Izuba ब्लेंड का इंडेक्स मान 0 होगा, French Roast ब्लेंड का इंडेक्स मान 1 होगा, और Vietnam Da Lat Arabica ब्लेंड का इंडेक्स मान 2 होगा। आइए निम्न array लें:

String[] coffees = { "Rwanda Izuba", "French Roast", "Vietnam Da La Arabica" };

यदि आप इस array में पहले आइटम तक पहुंचना चाहते हैं, तो आप इस कोड का उपयोग कर सकते हैं:

System.out.println(coffees[0]);

हमारा कोड लौटाता है: Rwanda Izuba।

इंडेक्स मान को आपके array के बीच स्क्वायर ब्रैकेट्स में पास किया जाता है। इंडेक्स मान के रूप में मौजूद नंबरों की रेंज 0 और आपके array की लंबाई से एक कम के बीच होती है। ऐसा इसलिए है क्योंकि, जैसा कि हमने पहले उल्लेख किया है, arrays 0 मान से इंडेक्स्ड होते हैं।

यदि आप एक इंडेक्स मान तक पहुंचने का प्रयास करते हैं जो मौजूद नहीं है, तो एक त्रुटि लौटाई जाती है:

ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3

इस मामले में, हमने अपने array में इंडेक्स मान 3 तक पहुंचने का प्रयास किया। क्योंकि हमारे इंडेक्स मान केवल दो तक जाते हैं - याद रखें, arrays 0 से शुरू होकर इंडेक्स्ड होते हैं - एक त्रुटि लौटाई गई थी।

आइए इसे एक पायदान ऊपर ले जाएं। मान लीजिए कि आप अपने array में हर आइटम के माध्यम से जाना चाहते हैं और उन पर व्यक्तिगत रूप से एक ऑपरेशन परफॉर्म करना चाहते हैं। हम अपने array में हर आइटम को कंसोल पर प्रिंट करने जा रहे हैं। आप इसे for-each लूप का उपयोग करके पूरा कर सकते हैं, जैसे:

class CoffeeArray { public static void main(String[] args) { String[] coffees = { "Rwanda Izuba", "French Roast", "Vietnam Da La Arabica" }; for (String coffee : coffees) { System.out.println(coffee); } } }

हमारा कोड लौटाता है:

Rwanda Izuba French Roast Vietnam Da La Arabica

इस उदाहरण में, हमारा कोड हमारे coffees array में हर आइटम के माध्यम से इटरेट करता है और प्रत्येक आइटम को कंसोल पर प्रिंट करता है। हमने "for" लूप के बजाय for-each लूप का उपयोग किया है क्योंकि इसके लिए काउंटर की आवश्यकता नहीं होती, जिसका अर्थ है कि यह अधिक संक्षिप्त और पढ़ने में आसान है।

Array में आइटम्स बदलना

ह्यूस्टन, हमारे पास एक समस्या है। पता चला है कि हमारा पसंदीदा फ्रेंच ब्लेंड वास्तव में French Roast नहीं कहलाता। इसे French Classic कहा जाता है। यदि हम इसे बदलना चाहते हैं, तो हम इंडेक्सिंग का उपयोग कर सकते हैं।

निम्न कोड पर विचार करें:

class CoffeeArray { public static void main(String[] args) { String[] coffees = { "Rwanda Izuba", "French Roast", "Vietnam Da La Arabica" }; coffees[1] = "French Classic"; System.out.println(coffees[1]); } }

हमने असाइनमेंट ऑपरेटर (=) का उपयोग हमारे कॉफी के मान को बदलने के लिए किया है जो इंडेक्स पोजीशन 1 पर मौजूद है। हमने इसका मान French Roast से French Classic में बदल दिया है। हमारा कोड लौटाता है: French Classic।

Java Array: एक उदाहरण

आइए उन सभी अवधारणाओं को एक उदाहरण में एक साथ लाएं जिन पर हमने चर्चा की है। मान लीजिए कि हम पिछले सप्ताह कॉफी पर कुल कितना खर्च किया है, इसकी गणना करना चाहते हैं।

सबसे पहले, हम अपने प्रोग्राम के लिए क्लास और वेरिएबल्स सेट करने जा रहे हैं:

class CoffeePrices { public static void main(String[] args) { Double[] purchases = {2.55, 2.75, 2.99, 3.05}; double sum = 0; } }

हमने दो वेरिएबल घोषित किए हैं। एक वेरिएबल हमारी खरीदारी की सूची स्टोर करता है। अगला वेरिएबल स्टोर करता है कि हमने कॉफी पर कितना खर्च किया है इसका काउंटर। हमारा अगला कदम एक for-each लूप बनाना है जो हर कॉफी खरीदारी के माध्यम से लूप करता है और इसे हमारे "sum" वेरिएबल में जोड़ता है:

for (double purchase : purchases) { sum += purchase; }

यदि हम अपना कोड चलाते हैं, तो हमारा प्रोग्राम पिछले सप्ताह कॉफी पर खर्च की गई कुल राशि की गणना करेगा। केवल एक समस्या है: हमारा प्रोग्राम हमें नहीं बताता कि वह मान क्या है! हम इसे कंसोल पर प्रिंट करके मान प्राप्त कर सकते हैं:

जब हम इस सभी कोड को एक साथ चलाते हैं, तो निम्न लौटाया जाता है:

You've spent $11.34 on coffee in the last week. $11.34 on coffee. Not bad! What a useful program.



निष्कर्ष (और चुनौती)

Arrays एक प्रकार का डेटा है जो एक ही डेटा प्रकार के कई मान स्टोर कर सकता है। आप किसी भी चीज़ के लिए array घोषित कर सकते हैं, जैसे आपकी पसंदीदा किताबों की सूची, गेम में खिलाड़ियों की सूची, या उन नंबर्स की सूची जिनका आप औसत निकालना चाहते हैं।

क्या आप एक चुनौती ढूंढ रहे हैं? आगे पढ़ें।

एक प्रोग्राम लिखें जो यूजर से ट्रैवल डेस्टिनेशन चुनने के लिए कहे ताकि उसके बारे में अधिक जानकारी प्राप्त कर सके। आपको ट्रैवल डेस्टिनेशन्स को एक array में स्टोर करना चाहिए। आपको प्रत्येक डेस्टिनेशन का एक-वाक्य विवरण एक अलग array में स्टोर करना चाहिए।

जब कोई यूजर ट्रैवल डेस्टिनेशन चुनता है, तो उसे अपने ट्रैवल डेस्टिनेशन्स के array में ढूंढें, और उसका इंडेक्स नंबर कैलकुलेट करें। फिर, उस इंडेक्स नंबर का उपयोग करके संबंधित डेस्टिनेशन का एक-वाक्य विवरण कंसोल पर प्रिंट करें।

अब आप एक प्रोफेशनल की तरह Java में arrays का उपयोग शुरू करने के लिए तैयार हैं!

  1. - सबसे लंबी बढ़ती उपअनुक्रम के लिए जावा प्रोग्राम

    सबसे लंबी बढ़ती उपअनुक्रम के लिए जावा प्रोग्राम निम्नलिखित है: उदाहरण public class Demo{ static int incre_subseq(int my_arr[], int arr_len){ int seq_arr[] = new int[arr_len]; int i, j, max = 0; for (i = 0; i < arr_len; i++) seq_arr[i] = 1; fo

  1. - Java प्रोग्राम: कॉम्ब सॉर्ट (Comb Sort)

    Java में कॉम्ब सॉर्ट सूची के अंत में स्थित छोटे मानों को हटा देता है और इनवर्जन को एक-एक करके हटा दिया जाता है। आइए एक उदाहरण देखें:उदाहरण 1){ len_gap = (int)(len_gap / shrink_val); } swap = false; for (int i = 0; len_gap + i nums[i + len_gap]){ swap(nums, i, i + len_gap); swap = true; } } } } priv

  1. - Java में डिफ़ॉल्ट ऐरे मान

    Java एक डेटा संरचना प्रदान करता है, ऐरे, जो एक ही प्रकार के एलिमेंट्स का फिक्स्ड-साइज अनुक्रमिक संग्रह स्टोर करता है। एक ऐरे का उपयोग डेटा के संग्रह को स्टोर करने के लिए किया जाता है, लेकिन अक्सर एक ऐरे को एक ही प्रकार के वेरिएबल्स के संग्रह के रूप में सोचना अधिक उपयोगी होता है। जब किसी ऐरे को बिना