परिचय
Kotlin में Array एक डेटा संरचना है जो निश्चित संख्या में समान प्रकार के मानों को संग्रहीत करती है। प्रत्येक तत्व को इंडेक्स (0 से शुरू) द्वारा एक्सेस किया जाता है। Kotlin में Arrays को `arrayOf()` फ़ंक्शन या Array कंस्ट्रक्टर का उपयोग करके बनाया जा सकता है।
Array की मुख्य विशेषताएं
- मेमोरी में क्रमिक रूप से संग्रहीत
- इंडेक्स द्वारा त्वरित एक्सेस (O(1))
- परिवर्तनीय (Mutable) - तत्व बदले जा सकते हैं
- आकार निश्चित होता है (निर्माण के बाद बदला नहीं जा सकता)
विधि 1: arrayOf() फ़ंक्शन का उपयोग करना
सबसे सामान्य और पठनीय तरीका:
fun main() {
// स्ट्रिंग Array घोषित करना
val subjects = arrayOf("Java", "C", "C++", "C#", "Kotlin")
// सभी मान प्रिंट करना
println("विषय सूची:")
for (i in 0 until subjects.size) {
println("विषय ${i+1}: ${subjects[i]}")
}
// फॉर-इच लूप (अधिक कोटलिन-शैली)
println("\nफॉर-इच का उपयोग:")
subjects.forEachIndexed { index, value ->
println("${index + 1}. $value")
}
// तत्व संशोधित करना (Arrays परिवर्तनीय हैं)
subjects[0] = "Java 17"
println("\nसंशोधित पहला तत्व: ${subjects[0]}")
}
आउटपुट
विषय सूची: विषय 1: Java विषय 2: C विषय 3: C++ विषय 4: C# विषय 5: Kotlin फॉर-इच का उपयोग: 1. Java 2. C 3. C++ 4. C# 5. Kotlin संशोधित पहला तत्व: Java 17
विधि 2: Array कंस्ट्रक्टर का उपयोग करना
आकार और इनिशियलाइज़र फ़ंक्शन लेता है:
fun main() {
// आकार 5 का Array, प्रत्येक तत्व = इंडेक्स * 2
val myArray = Array(5) { i -> i * 2 }
println("Array कंस्ट्रक्टर से बना Array:")
for (i in 0 until myArray.size) {
println("इंडेक्स $i: ${myArray[i]}")
}
// स्ट्रिंग Array कंस्ट्रक्टर के साथ
val stringArray = Array(3) { index -> "आइटम $index" }
println("\nस्ट्रिंग Array: ${stringArray.joinToString(", ")}")
}
आउटपुट
Array कंस्ट्रक्टर से बना Array: इंडेक्स 0: 0 इंडेक्स 1: 2 इंडेक्स 2: 4 इंडेक्स 3: 6 इंडेक्स 4: 8 स्ट्रिंग Array: आइटम 0, आइटम 1, आइटम 2
प्रिमिटिव टाइप Arrays (बेहतर प्रदर्शन)
ऑब्जेक्ट रैपर से बचने के लिए विशेष प्रिमिटिव Arrays:
fun main() {
// IntArray - Integer ऑब्जेक्ट्स के बजाय प्रिमिटिव int
val intArray = intArrayOf(1, 2, 3, 4, 5)
val doubleArray = doubleArrayOf(1.1, 2.2, 3.3)
val booleanArray = booleanArrayOf(true, false, true)
val charArray = charArrayOf('a', 'b', 'c')
println("IntArray: ${intArray.joinToString()}")
println("DoubleArray: ${doubleArray.joinToString()}")
println("BooleanArray: ${booleanArray.joinToString()}")
println("CharArray: ${charArray.joinToString()}")
// कंस्ट्रक्टर के साथ
val largeIntArray = IntArray(1000) { it * it } // 0, 1, 4, 9, 16...
println("पहले 5 वर्ग: ${largeIntArray.take(5).joinToString()}")
}
Array बनाम List - कब क्या उपयोग करें?
| विशेषता | Array | List |
|---|---|---|
| आकार | निश्चित | डायनामिक (MutableList) |
| प्रदर्शन | बेहतर (प्रिमिटिव टाइप्स के लिए) | थोड़ा कम |
| API समृद्धता | बुनियादी | समृद्ध (map, filter, आदि) |
| इंटरऑपरेबिलिटी | जावा Arrays के साथ मूल | जावा Lists के साथ आसान |
सारांश
- arrayOf() - सरल इनिशियलाइज़ेशन के लिए सर्वोत्तम
- Array कंस्ट्रक्टर - पैटर्न-आधारित इनिशियलाइज़ेशन के लिए
- प्रिमिटिव Arrays (intArrayOf, आदि) - प्रदर्शन-महत्वपूर्ण कोड के लिए
- List/MutableList - जब आकार बदलने की आवश्यकता हो