Kotlin中的列表或数组的产品

我试图找到一种方法来获取列表或数组的产品,而不使用“重复”或Kotlin上的任何循环,但经过一些研究,我找不到任何类似的东西。

在Python中这样的东西是:

>>> reduce(lambda x, y: x*y, [1,2,3,4,5,6]) output: 720 

3 Solutions collect form web for “Kotlin中的列表或数组的产品”

你可以在Kotlin中使用reduce

从文档:

从第一个元素开始累加值,并将操作从左到右应用到当前的累加器值和每个元素。

 val list = listOf<Int>(1, 2, 3, 4, 5, 6) val array = intArrayOf(1, 2, 3, 4, 5, 6) list.reduce { acc, i -> acc * i } // returns 720 array.reduce { acc, i -> acc * i } // returns 720 

使用fold功能

 val total = listOf(1, 2, 3, 4, 5).fold(1, { total, next -> total * next }) 

希望这可以帮助:

 fun main(args: Array<String>){ val array = intArrayOf(1, 2, 3, 4, 5, 6) val product = array.fold(1){acc, i -> acc * i} println("The result is: $product") } 

这将输出数组的产品。

  • Kotlin:泛型,反射和T和T之间的区别:任何
  • 如何从kotlin的对象实例访问伴侣对象?
  • Live模板不能在Kotlin中工作
  • 改造:在改装后得到一个空的机构
  • 将无限期运行的Runnable从java转换为kotlin
  • 将侦听器对象作为函数参数传递给kotlin
  • 当我使用Android Studio 3.0时如何存储json数据?
  • 如何在kotlin编程语言中使用如下所述的循环?
  • Kotlin Android扩展缓存合成属性还是每次调用findViewById()?
  • 这个字段泄漏一个上下文对象
  • Anko相当于xml中的样式属性
  • Kotlin language will be the best programming language for Android.