Kotlin 陣列 - takeLastWhile() 函式



Kotlin 陣列 takeLastWhile() 函式用於返回一個列表,其中包含滿足指定謂詞的陣列的最後一個元素。

這裡,最後一個元素表示將謂詞應用於陣列最後一個元素的結果,並存儲在一個新列表中。

語法

以下是 Kotlin 陣列 takeLastWhile() 函式的語法:

inline fun <T> Array<out T>.takeLastWhile(
   predicate: (T) -> Boolean
): List<T>

引數

此函式接受謂詞作為引數。

返回值

此函式返回一個列表,其中包含滿足謂詞的最後 n 個元素。

示例 1

以下是一個基本示例,演示瞭如何使用 takeLastWhile() 函式返回一個列表,其中包含大於指定謂詞的最後一個元素:

fun main(args: Array<String>){
   var arr = arrayOf(3, 4, 5, 6)
   print("Array elements: ")
   println(arr.joinToString())

   // use takeLastWhile function
   val list = arr.takeLastWhile({it>=5})
   println("list having element greater than 5: "+ list)
}

輸出

以上程式碼生成以下輸出:

Array elements: 3, 4, 5, 6
list having element greater than 5: [5, 6]

示例 2

讓我們再看一個例子。這裡,我們使用takeLastWhile函式返回一個列表,其中包含長度大於 5 的最後一個元素:

fun main(args: Array<String>){
   var arr = arrayOf<String>("Lily", "Rose", "Daisy", "Lotus", "Sunflower")
   print("Array elements: ")
   println(arr.joinToString())

   // use takeLastWhile function
   val list = arr.takeLastWhile({it.length>5})
   println("last n flower having length greater than 5 is: ")
   println("list:" + list)
}

輸出

以下是輸出:

Array elements: Lily, Rose, Daisy, Lotus, Sunflower
last n flower having length greater than 5 is: 
list:[Sunflower]

示例 3

以下是另一種情況:讓我們看看如果最後一個元素不滿足給定的謂詞會發生什麼:

data class Product(val name: String, val price: Double)
fun main(args: Array<String>) {
   val products = arrayOf(
      Product("Laptop", 999.99),
      Product("Mouse", 19.99),
      Product("Keyboard", 49.99),
      Product("Monitor", 199.99)
   )
   // use takeLast function
   val list = products.takeLastWhile{it.price>200}

   // Display the result
   println("Product and Price List: $list")
}

輸出

如果最後一個元素不滿足謂詞,則以上程式碼將生成空列表:

Product and Price List: []
kotlin_arrays.htm
廣告

© . All rights reserved.