Kotlin 数组 - iterator() 函数



Kotlin 数组的 iterator() 函数用于创建一个迭代器,用于迭代数组的元素。

迭代器提供对集合或其他实体(例如数组)的元素的顺序访问。

语法

以下是 Kotlin 数组 iterator() 函数的语法:

operator fun iterator(): Iterator<T>

参数

此函数不接受任何参数。

返回值

此函数返回一个迭代器对象。

示例 1

以下是一个基本示例,用于演示 iterator() 函数的使用:

fun main(args: Array<String>) {
   var array = Array(5) { i -> i}

   var iterator = array.iterator()

   println("The elements in the array are:")
   while(iterator.hasNext()){
      println(iterator.next())
   }      
}

输出

以下是输出:

The elements in the array are:
0
1
2
3
4

示例 2

现在,让我们来看另一个例子。在这里,我们创建一个存储不同类型元素的数组。然后,我们使用iterator()函数来迭代元素:

fun main(args: Array<String>) {
   var array = Array(10) { i ->
      if(i<3) {'c'}
      else if(i<5) {"Hi"}
      else {5}
   }
   
   var iterator = array.iterator()
   
   println("The elements in the array are:")
   iterator.forEach() { x ->
      println(x)
   }
}

输出

以下是输出:

The elements in the array are:
c
c
c
Hi
Hi
5
5
5
5
5

示例 3

下面的示例创建一个包含 10 个整数的数组,并将数组的每个元素乘以 2。然后,我们使用iterator()函数遍历数组的元素:

fun main(args: Array<String>) {
   var array = Array(10) {
      it -> it*2
   }

   var iterator = array.iterator()
   var result=0
   
   for((index, value) in iterator.withIndex()) {
      result+=index*value
      print("$index*$value")
      if (index!=array.size-1)
         print(" + ")
      else
         print(" = ")
   }
   print(result)
}

输出

以下是输出:

0*0 + 1*2 + 2*4 + 3*6 + 4*8 + 5*10 + 6*12 + 7*14 + 8*16 + 9*18 = 570
kotlin_arrays.htm
广告