在 Kotlin 中用值初始化陣列
- 在 Kotlin 中宣告一個陣列
-
在 Kotlin 中使用
arrayOf()
函式宣告和初始化陣列 -
在 Kotlin 中使用
Array Constructor
宣告和初始化一個陣列 -
在 Kotlin 中使用
Primitive Types
宣告和初始化陣列值 -
在 Kotlin 中使用
arrayOfNulls()
函式宣告和初始化陣列 -
在 Kotlin 中使用
fill()
函式宣告和初始化陣列 -
在
範圍
中宣告和初始化 Kotlin 中的陣列值
本教程將教我們在 Kotlin 中使用值初始化一個陣列。
使用不同的方法,例如 arrayOf()
、array constructor
、primitive types
、arrayOfNulls()
、fill()
以及從 range
。
在 Kotlin 中宣告一個陣列
陣列將多個專案儲存在一起,以便在元素集合中輕鬆排序和搜尋。
儲存在 Kotlin 陣列中的所有專案都稱為元素
,可以藉助從 0
開始的索引號來訪問它們。
在 Kotlin 中宣告一個陣列有兩種方式:
- 使用
arrayOf()
函式和陣列建構函式。 - 在宣告陣列時用
values
初始化陣列。
在 Kotlin 中使用 arrayOf()
函式宣告和初始化陣列
藉助庫函式 arrayOf()
建立一個陣列,並使用我們想要的任何值對其進行初始化。
有兩種方法可以做到這一點:implicit
和 explicit
型別。
我們可以使用 arrayOf()
函式並開始初始化 implicit
宣告值。但是對於 explicit
宣告,我們可以通過顯式宣告資料型別來控制陣列中的輸入。
在下面的示例中,我們將使用 implicit
宣告建立一個陣列 Student
,並使用 students' names
對其進行初始化。
fun main() {
val Student = arrayOf("Mark", "Anthony", 3, true)
println (Student.contentToString())
}
輸出:
[Mark, Anthony, 3, true]
implicit
宣告接受任何資料型別並在編譯時將其轉換為 String
。但是如果我們使用 explicit
宣告,程式將只接受 String
併為任何其他資料型別丟擲錯誤。
fun main() {
val Student = arrayOf<String>("Mark", "Anthony", 3, true)
println (Student.contentToString())
}
輸出:
! The integer literal does not conform to the expected type String
! The boolean literal does not conform to the expected type String
但是,僅使用 String
值初始化陣列將按預期執行。
在 Kotlin 中使用 Array Constructor
宣告和初始化一個陣列
它需要兩個引數:size
和 function
來計算值。
語法:
val array_name = Array (size, {value_function})
使用這種語法,我們將在 Kotlin 中建立並初始化一個陣列。
fun main()
{
val array_example = Array(3, { n -> n * 1 + 3 })
for (n in 0..array_example.size-1)
{
println(array_example[n])
}
}
輸出:
3 4 5
我們也可以用單個值或 it
替換該函式。如果我們用單個值替換它,則陣列將在所有索引中初始化。
另一方面,如果我們使用 it
,我們將使用相應的索引初始化陣列。it
關鍵字是指專案的索引。
因此,我們也可以通過使用 it
關鍵字來消除上述程式碼中的 for
。
fun main()
{
val array_example = Array(3, { it -> it * 1 + 3 })
println(array_example.contentToString())
}
輸出:
[3, 4, 5]
在 Kotlin 中使用 Primitive Types
宣告和初始化陣列值
Kotlin 允許使用函式 intArrayOf()
、charArrayOf()
、doubleArrayOf()
、booleanArrayOf()
、longArrayOf()
、shortArrayOf()
和 byteArrayOf() 建立原始型別陣列
。
編譯使用這些函式建立的陣列將反映為 int[]
、char[]
等。
fun main()
{
val arr = charArrayOf('a', 'b', 'c', 'd')
print(arr)
}
輸出:
abcd
在 Kotlin 中使用 arrayOfNulls()
函式宣告和初始化陣列
arrayofNulls()
函式將宣告提到的大小和型別陣列,並用 null
值填充它。
我們將使用 arrayofNulls()
函式在下面的程式碼中建立一個大小為 3 和 null
值的陣列。
fun main() {
val array_example = arrayOfNulls<String>(3)
println(array_example.contentToString())
}
輸出:
[null, null, null]
同樣,我們可以使用 emptyArray()
函式建立一個空陣列。我們不需要為 emptyArray()
函式提供任何引數,因為它只會建立一個沒有任何資料的空陣列。
在 Kotlin 中使用 fill()
函式宣告和初始化陣列
fill()
函式將使用給定值初始化 Kotlin 中的陣列。但是,這需要宣告變數來儲存 size 和 items 的值,以便稍後初始化陣列。
fun main() {
val s = 3
val v = 5
val array_example = arrayOfNulls<Int>(s)
array_example.fill(v)
println(array_example.contentToString())
}
輸出:
[5, 5, 5]
在範圍
中宣告和初始化 Kotlin 中的陣列值
我們需要使用 toList()
函式將範圍轉換為列表,並將給定範圍內的各個值新增到陣列中。但要使其工作,我們需要匯入 Java Array 包。
import java.util.Arrays
fun main() {
val array_example = (4..9).toList().toTypedArray()
println(Arrays.toString(array_example))
}
輸出:
[4, 5, 6, 7, 8, 9]
Kailash Vaviya is a freelance writer who started writing in 2019 and has never stopped since then as he fell in love with it. He has a soft corner for technology and likes to read, learn, and write about it. His content is focused on providing information to help build a brand presence and gain engagement.
LinkedIn