स्विफ्ट एरेस: इसका उपयोग कैसे करें और क्यों करें? (उदाहरण के साथ)

इस ट्यूटोरियल में, आप ऐरे के बारे में जानेंगे, इसे क्रिएट करेंगे, एरे के मानों तक पहुँचने और ऐरे में कुछ कॉमन ऑपरेशंस के बारे में।

पिछले स्विफ्ट डेटा प्रकार लेख में, हमने कुछ डेटा प्रकारों के वेरिएबल / स्थिरांक बनाने के बारे में सीखा जो एकल मान रख सकते हैं।

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

एक सरणी क्या है?

एक सरणी बस एक कंटेनर है जो एक ऑर्डर की गई सूची में डेटा प्रकार के कई डेटा (मान) को पकड़ सकता है, अर्थात आपको उसी क्रम में तत्व मिलते हैं जैसे आपने सरणी में आइटम को परिभाषित किया था।

एक सरणी किसी भी डेटा प्रकार जैसे के मूल्यों स्टोर कर सकते हैं Int, String, वर्ग आदि

कैसे स्विफ्ट में एक सरणी घोषित करने के लिए?

आप वर्ग कोष्ठक के अंदर डेटा प्रकार निर्दिष्ट करके एक खाली सरणी बना सकते हैं ()

याद रखें, आपको वर्ग कोष्ठक के अंदर के प्रकार को शामिल करना होगा, अन्यथा स्विफ्ट इसे सामान्य डेटा प्रकार के रूप में मानेगा और आप इसमें केवल एक ही मान संग्रहीत कर सकते हैं।

उदाहरण 1: एक खाली सरणी की घोषणा करना

 let emptyIntArr:(Int) = () print(emptyIntArr) 

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 ()

उपर्युक्त कार्यक्रम में, हमने एक निरंतर रिक्तइंटरआर्ट घोषित किया है जो पूर्णांक की सरणी को संग्रहीत कर सकता है और 0 मानों के साथ प्रारंभ किया जा सकता है।

या

आप नीचे दिए गए खाली सरणी को भी परिभाषित कर सकते हैं:

 let emptyIntArr:Array = Array() print(emptyIntArr) 

या

चूंकि, स्विफ्ट एक प्रकार की अनुमान भाषा है, आप डेटा प्रकार को निर्दिष्ट किए बिना सीधे सरणी भी बना सकते हैं, लेकिन कुछ मानों के साथ आरंभ करना होगा ताकि कंपाइलर इसके प्रकार का अनुमान लगा सके:

उदाहरण 2: कुछ मूल्यों के साथ एक सरणी की घोषणा

 let someIntArr = (1, 2, 3, 4, 5, 6, 7, 8, 9) print(someIntArr) 

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 (1, 2, 3, 4, 5, 6, 7, 8, 9)

उपरोक्त कार्यक्रम में, हमने एक निरंतर someIntArr घोषित किया है जो स्पष्ट रूप से प्रकार निर्दिष्ट किए बिना पूर्णांक की सरणी को संग्रहीत कर सकता है। इसके अलावा, हमारे पास 1, 2, 3, 4, 5, 6, 7, 8, 9 मूल्यों के साथ आरंभीकृत सरणी है ।

उदाहरण 3: एक सरणी की घोषणा करना जिसमें एक एकल दोहराया मूल्य की निर्दिष्ट संख्या होती है

आप स्विफ्ट में एक सरणी बनाने के लिए किसी दिए गए कई बार मान भी दोहरा सकते हैं। यह दोहराने और गिनती के साथ सरणी इनिशलाइज़र का उपयोग करके किया जाता है।

 let arrWithRepeatingValues = Array(repeating: "Hello, World", count: 4) print(arrWithRepeatingValues) 

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 ("हैलो, वर्ल्ड", "हैलो, वर्ल्ड", "हैलो, वर्ल्ड", "हैलो, वर्ल्ड"

उपरोक्त कार्यक्रम में, हमने एक निरंतर arrWithRepeatingValues ​​को परिभाषित किया है जो स्ट्रिंग हैलो की एक सरणी को संग्रहीत करता है , विश्व और गिनती में निर्दिष्ट के रूप में 4 बार के लिए समान मान दोहराता है।

नोट: स्विफ्ट में, आप निश्चित लंबाई के आकार की सरणी नहीं बना सकते हैं जैसा कि आप अन्य प्रोग्रामिंग भाषाओं में करते हैं। निश्चित लंबाई के आकार के सरणी का मतलब है, सरणी में आरंभीकरण के दौरान आपके द्वारा परिभाषित तत्वों से अधिक तत्व नहीं हो सकते।

एरे में मूल्यों को कैसे संग्रहीत किया जाता है?

मान लीजिए कि आपके पास एक स्थिरांक है जो नीचे दिए गए तार के प्रकारों को संग्रहीत कर सकता है:

 आज्ञा देना = (21, 34, 54, 12)

सरणी में संग्रहीत मूल्यों को कैसे चित्रित किया जा सकता है इसका चित्रण प्रतिनिधित्व नीचे दिखाया जा सकता है:

आपके द्वारा बनाए गए सभी सरणियों की शुरुआत सूचकांक के साथ होती है। पहला तत्व इंडेक्स 0 में संग्रहीत होता है, दूसरा तत्व अगले इंडेक्स में (1) और इसी तरह।

कैसे स्विफ्ट में सरणी तत्वों का उपयोग करने के लिए?

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

मान लीजिए कि आपने ऊपर के रूप में एक सरणी घोषित किया है। पहला तत्व intArr (0), दूसरा तत्व intArr (1) और इसी तरह है।

उदाहरण 4: किसी सरणी के तत्वों तक पहुँचना

 let intArr = (21, 34, 54, 12) print(intArr(0)) print(intArr(1)) print(intArr(2)) print(intArr(3)) 

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 २१ ३४ ५४ १२ 

आप किसी सरणी के तत्वों का उपयोग इन-लूप के लिए भी कर सकते हैं। इसके बारे में अधिक जानने के लिए स्विफ्ट फॉर-इन लूप देखें।

स्विफ्ट में सरणी तत्वों को कैसे संशोधित / जोड़ा जाए?

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

उदाहरण 5: एक सरणी के तत्वों को संशोधित करना

 var intArr = (21, 34, 54, 12) intArr(0) = 12 intArr(1) = 42 intArr(2) = 45 intArr(3) = 21 print(intArr) 

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 (12, 42, 45, 21)

आप नीचे दिए गए नए मूल्यों के साथ सरणी के सभी तत्वों को भी संशोधित कर सकते हैं:

उदाहरण 6: एक सरणी को संपूर्ण रूप में संशोधित करना

 var intArr = (21, 34, 54, 12) intArr = (1,2,3) print(intArr) 

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 (1, 2, 3)

हालाँकि, मौजूदा सरणी में एक नया तत्व जोड़ने के लिए, आप सबस्क्रिप्ट सिंटैक्स का उपयोग नहीं कर सकते हैं। यदि आप करते हैं, तो आप एक त्रुटि समाप्त करेंगे। आप ऐसा कुछ नहीं कर सकते:

उदाहरण 7: सबस्क्रिप्ट सिंटैक्स का उपयोग करके एक सरणी में एक नया तत्व जोड़ना (काम नहीं करता है)

 var intArr = (21, 34, 54, 12) intArr(4) = 10 

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 घातक त्रुटि: सीमा से बाहर सूचकांक

एक सरणी intArr को एक नया तत्व प्रदान करते समय उपरोक्त कार्यक्रम एक त्रुटि देता है। ऐसा इसलिए है, क्योंकि intArr ने इंडेक्स 4 के लिए अतिरिक्त मेमोरी आवंटित नहीं की है और दिए गए मूल्य को संग्रहीत नहीं कर सकता है।

किसी नए तत्व को सरणी में सही ढंग से सम्मिलित करने के लिए, हम सरणी की append()विधि का उपयोग करते हैं। append()नीचे अनुभाग में वर्णित है।

ऐरे कार्यों और गुणों में निर्मित कुछ सहायक

1. खाली है

यह गुण निर्धारित करता है कि कोई सरणी खाली है या नहीं। trueयदि कोई सरणी में कोई मान नहीं है तो यह वापस आ जाता है अन्यथा रिटर्न false

उदाहरण 8: कैसे काम करता है?

 let intArr = (21, 34, 54, 12) print(intArr.isEmpty) 

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 असत्य

2. पहला

इस संपत्ति का उपयोग किसी ऐरे के पहले तत्व तक पहुँचने के लिए किया जाता है।

उदाहरण 9: सबसे पहले कैसे काम करता है?

 let intArr = (21, 34, 54, 12) print(intArr.first) 

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 वैकल्पिक (21)

इसी प्रकार, आप lastकिसी ऐरे के अंतिम तत्व तक पहुंचने के लिए संपत्ति का उपयोग कर सकते हैं ।

3. परिशिष्ट

एपेंड फंक्शन का उपयोग एरे के अंत में एलिमेंट / अपेंडेड तत्व डालने के लिए किया जाता है।

उदाहरण 10: परिशिष्ट कैसे काम करता है?

 var intArr = (21, 34, 54, 12) intArr.append(32) print(intArr) 

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 (21, 34, 54, 12, 32)

आप एक सरणी की सामग्री को दूसरे सरणी में भी जोड़ सकते हैं:

 var firstArr = (1,2,3,4) var secondArr = (5,6,7,8) firstArr.append(contentsOf: secondArr) print(firstArr) 

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 (1, 2, 3, 4, 5, 6, 7, 8)

4. डालें

इस फंक्शन का उपयोग एरे के विशिष्ट इंडेक्स में एलिमेंट / अपेंडेड तत्व डालने के लिए किया जाता है।

उदाहरण 11: इंसर्ट कैसे कार्य करता है?

 var intArr = (21,34,54,12) intArr.insert(22, at: 1) print(intArr) 

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 (21, 22, 34, 54, 12)

इसी तरह आप removeनिर्दिष्ट सूचकांक पर तत्व को निकालने के लिए संपत्ति का उपयोग भी कर सकते हैं ।

5. हटाओ

यह फ़ंक्शन सरणी से निर्दिष्ट स्थान पर निर्दिष्ट मान को निकालता है और वापस करता है।

उदाहरण 12: काम कैसे हटाएं?

 var strArr = ("ab","bc","cd","de") let removedVal = strArr.remove(at: 1) print("removed value is (removedVal)") print(strArr) 

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 हटाया गया मान bc ("ab", "cd", "de") है 

इसी प्रकार, आप removeFirstकिसी एरे के पहले तत्व removeLastको हटाने के लिए , एरे के अंतिम तत्व को हटाने और एरे removeAllको खाली करने के लिए भी फंक्शन्स का उपयोग कर सकते हैं ।

6. उलट

यह फ़ंक्शन सरणी के तत्वों को रिवर्स ऑर्डर में लौटाता है।

उदाहरण 13: कैसे उलटा () काम करता है?

 var intArr = (21,22,23,24) let reversedArr = Array(intArr.reversed()) print(reversedArr) 

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 (२४, २३, २२, २१)

7. गिनती

यह गुण किसी सरणी में तत्वों की कुल संख्या लौटाता है।

उदाहरण 14: गिनती

 let floatArr = (10.2,21.3,32.0,41.3) print(floatArr.count) 

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

याद रखने वाली चीज़ें

स्विफ्ट में किसी ऐरे के तत्वों को एक्सेस करने के लिए सबस्क्रिप्ट सिंटैक्स का उपयोग करते समय, आपको यकीन होना चाहिए कि मूल्य इंडेक्स में निहित है अन्यथा आपको रनटाइम क्रैश मिलेगा। आइए इसे उदाहरण में देखें:

 let intArr = (21, 34, 54, 12) print(intArr(-1)) 

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 घातक त्रुटि: सीमा से बाहर सूचकांक

उपरोक्त कार्यक्रम में, सूचकांक -1 में कोई मूल्य नहीं है । इसलिए जब आप इंडेक्स में मूल्य का उपयोग करने का प्रयास करते हैं तो आपको एक रनटाइम क्रैश मिलेगा।

इसे रोकने के लिए, पहले उस तत्व का सूचकांक ढूंढें जिसे आप हटाने की कोशिश कर रहे हैं। और फिर नीचे दिए गए सूचकांक पर तत्व को हटा दें:

 var intArr = (21, 34, 54, 12) if let index = intArr.index(of: 34) ( print("found index") let val = intArr.remove(at: index) print(val) ) 

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 पाया सूचकांक 34 

दिलचस्प लेख...