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
廣告