परिचय
Java में `String[]` एक स्ट्रिंग सरणी घोषित करता है। Kotlin में इसके कई समकक्ष हैं, प्रत्येक अलग उपयोग के मामले के लिए।
विधि 1: arrayOf() - खाली या भरा हुआ Array
fun main() {
// खाली String Array
val emptyArray = arrayOf()
println("खाली: ${emptyArray.size}") // 0
// मानों के साथ
val filledArray = arrayOf("Apple", "Banana", "Cherry")
println("भरा: ${filledArray.joinToString()}")
// एक्सप्लिसिट टाइप
val explicitArray: Array = arrayOf("A", "B")
}
विधि 2: arrayOfNulls() - नल्स से भरा Array
fun main() {
// आकार 3 का Array, सभी तत्व null
val nullableArray: Array = arrayOfNulls(3)
println("नल्स: ${nullableArray.joinToString()}") // null, null, null
// नॉन-नल Array के लिए उपयोग नहीं कर सकते
// val nonNull: Array = arrayOfNulls(3) // कंपाइल त्रुटि
}
विधि 3: emptyArray() - खाली Array (सिंगलटन)
fun main() {
val empty = emptyArray()
println("खाली: ${empty.size}") // 0
// यह एक सिंगलटन इंस्टेंस लौटाता है (मेमोरी कुशल)
println(empty === emptyArray()) // true
}
विधि 4: Array कंस्ट्रक्टर - आकार + इनिशियलाइज़र
fun main() {
// आकार 5, प्रत्येक तत्व = "Item $index"
val initialized = Array(5) { i -> "Item $i" }
println("इनिशियलाइज़्ड: ${initialized.joinToString()}")
// आउटपुट: Item 0, Item 1, Item 2, Item 3, Item 4
}
विधि 5: List.toTypedArray() - List से Array
fun main() {
val list = listOf("A", "B", "C")
val array = list.toTypedArray()
println("List से Array: ${array.joinToString()}")
}
तुलना तालिका
| विधि | उपयोग का मामला | नल अनुमत | आकार |
|---|---|---|---|
| arrayOf() | ज्ञात मानों के साथ Array | नहीं (Array<String>) | मानों की संख्या |
| arrayOfNulls(n) | नल प्लेसहोल्डर्स के साथ Array | हाँ (Array<String?>) | निश्चित (n) |
| emptyArray() | खाली Array (सिंगलटन) | नहीं | 0 |
| Array(n) { } | पैटर्न-आधारित इनिशियलाइज़ेशन | लैम्ब्डा पर निर्भर | निश्चित (n) |
| list.toTypedArray() | List से रूपांतरण | List पर निर्भर | List आकार |
वरैग्स (Varargs) के लिए Java इंटरऑप
// Java मेथड: void printStrings(String... args)
// Kotlin से कॉल:
fun javaStyleMethod(vararg items: String) {
items.forEach { println(it) }
}
fun main() {
// स्प्रेड ऑपरेटर का उपयोग
val array = arrayOf("A", "B", "C")
javaStyleMethod(*array) // *array = स्प्रेड ऑपरेटर
// या सीधे
javaStyleMethod("X", "Y", "Z")
}
सर्वोत्तम अभ्यास
- arrayOf() - जब मान ज्ञात हों
- Array कंस्ट्रक्टर - जब पैटर्न/गणना से मान बनाएं
- emptyArray() - खाली सरणी के लिए (शून्य आवंटन)
- arrayOfNulls() - जब बाद में भरेंगे (nullable)
- प्रिमिटिव Arrays के लिए: `intArrayOf()`, `doubleArrayOf()`, आदि।