खोज…
जेनेरिक एरे
कोटलिन में सामान्य सरणियों को Array<T> द्वारा दर्शाया गया है।
खाली सरणी बनाने के लिए, खाली करें emptyArray<T>() फ़ैक्टरी फ़ंक्शन का उपयोग करें:
val empty = emptyArray<String>()
दिए गए आकार और प्रारंभिक मानों के साथ एक सरणी बनाने के लिए, कंस्ट्रक्टर का उपयोग करें:
var strings = Array<String>(size = 5, init = { index -> "Item #$index" })
print(Arrays.toString(a)) // prints "[Item #0, Item #1, Item #2, Item #3, Item #4]"
print(a.size) // prints 5
Arrays get(index: Int): T और set(index: Int, value: T) फ़ंक्शन:
strings.set(2, "ChangedItem")
print(strings.get(2)) // prints "ChangedItem"
// You can use subscription as well:
strings[2] = "ChangedItem"
print(strings[2]) // prints "ChangedItem"
आदिमों की सरणियाँ
ये प्रकार बॉक्सिंग से बचने के लिए Array<T> से विरासत में नहीं मिलते हैं, हालांकि, उनके पास समान विशेषताएं और विधियां हैं।
| कोटलिन प्रकार | फैक्टरी समारोह | जेवीएम प्रकार |
|---|---|---|
BooleanArray | booleanArrayOf(true, false) | boolean[] |
ByteArray | byteArrayOf(1, 2, 3) | byte[] |
CharArray | charArrayOf('a', 'b', 'c') | char[] |
DoubleArray | doubleArrayOf(1.2, 5.0) | double[] |
FloatArray | floatArrayOf(1.2, 5.0) | float[] |
IntArray | intArrayOf(1, 2, 3) | int[] |
LongArray | longArrayOf(1, 2, 3) | long[] |
ShortArray | shortArrayOf(1, 2, 3) | short[] |
एक्सटेंशन
average() को Byte , Int , Long , Short , Double , Float लिए परिभाषित किया जाता है और हमेशा Double लौटाता है:
val doubles = doubleArrayOf(1.5, 3.0)
print(doubles.average()) // prints 2.25
val ints = intArrayOf(1, 4)
println(ints.average()) // prints 2.5
component1() , component2() , ... component5() एरे का एक आइटम लौटाते हैं
getOrNull(index: Int) अशक्त रिटर्न देता है यदि सूचकांक सीमा से बाहर है, अन्यथा सरणी का एक आइटम
first() , last()
toHashSet() सभी तत्वों का एक HashSet<T> लौटाता है
sortedArray() , sortedArrayDescending() बनाता है और वर्तमान के सॉर्ट किए गए तत्वों के साथ एक नया सरणी देता है
sort() , sortDescending यथा-स्थान तरह सरणी
min() , max()
Iterate ऐरे
आप पाश जावा बढ़ाया पाश के रूप में ही उपयोग करते हुए सरणी तत्वों मुद्रित कर सकते हैं, लेकिन आप से कीवर्ड को बदलने की जरूरत : करने के लिए in ।
val asc = Array(5, { i -> (i * i).toString() })
for(s : String in asc){
println(s);
}
आप लूप के लिए डेटा प्रकार भी बदल सकते हैं।
val asc = Array(5, { i -> (i * i).toString() })
for(s in asc){
println(s);
}
एक सरणी बनाएँ
val a = arrayOf(1, 2, 3) // creates an Array<Int> of size 3 containing [1, 2, 3].
एक क्लोजर का उपयोग करके एक सरणी बनाएं
val a = Array(3) { i -> i * 2 } // creates an Array<Int> of size 3 containing [0, 2, 4]
एक असिंचित सरणी बनाएँ
val a = arrayOfNulls<Int>(3) // creates an Array<Int?> of [null, null, null]
लौटे सरणी में हमेशा एक अशक्त प्रकार होगा। गैर-अशोभनीय वस्तुओं की सारणियाँ एकतरफा नहीं बनाई जा सकतीं।