Kotlin 数组 - <init> 构造函数



Kotlin 数组的 init 构造函数用于创建一个具有指定大小的新数组,其中每个元素都是通过调用指定的 init 函数计算得到的。

init 构造函数初始化一个数组,并接受一个函数,该函数依次返回一个值,该值将被分配为数组的元素。

语法

以下是 Kotlin 数组 init 构造函数的语法:

<init>(size: Int, init: (Int) -> T)

参数

此构造函数接受以下参数:

  • size:它表示数组必须包含的元素数量。

  • init:它表示一个函数,该函数为数组的每个元素赋值,并返回该函数返回的值。

返回值

此构造函数返回数组对象的实例。

示例 1

以下是一个基本示例,我们使用 Kotlin Array 类的构造函数创建一个大小为 5 的数组。 init 函数将数组的值设置为 1,然后打印数组中的值:

fun main(args: Array<String>) {
   var array = Array(5) { init -> 1 }
   val len = array.size
   println("The number of elements in the array is: $len")
   println("The elements in the array are: ")
   for (i in 0 until len)
   {
      println(array[i])
   }
}

输出

以上代码生成以下输出:

The number of elements in the array is: 5
The elements in the array are: 
1
1
1
1
1

示例 2

以下示例创建一个大小为 5 的数组,其中每个元素都初始化为其索引的两倍:

fun main() {
   // Each element is initialized to twice of its index
   val array = Array(5) { index -> index * 2 }

   // Print the contents of the array
   println("Array contents: ${array.joinToString()}")
}

输出

以下是输出:

Array contents: 0, 2, 4, 6, 8

示例 3

让我们创建一个大小为 10 的数组。然后,我们使用init函数将数组的值设置为值本身的索引:

fun main(args: Array<String>) {
   // i for initialization
   var array = Array(10) { i -> i }
   val len = array.size
   println("The number of elements in the array is: $len")
   println("The elements in the array are: ")
   for (i in 0 until len)
   {
      println(array[i])
   }
}

输出

以下是输出:

The number of elements in the array is: 10
The elements in the array are: 
0
1
2
3
4
5
6
7
8
9

示例 4

以下示例创建一个大小为 2 的数组,然后将字符串初始化为每个元素:

fun main(args: Array<String>) {
   var array = Array(2) { init -> "Sample String" }
   val len = array.size
   println("The number of elements in the array is: $len")
   println("The elements in the array are: ")
   for (i in 0 until len)
   {
      println(array[i])
   }
}

输出

以下是输出:

The number of elements in the array is: 2
The elements in the array are: 
Sample String
Sample String
kotlin_arrays.htm
广告