使用重复函数的 de 结果创建列表 os Kotlin

Create a list os Kotlin with de result of a repeated function

我有一个很长的方法,它创建一个列表,其结果是一个将两个数字相加的函数:

private fun Add(one: Int, two:Int) : Int {

 return one + two
}

private val myList = listOf(
 Add(1, 2),
 Add(2, 3),
 Add(3, 4),
 Add(4, 5),
 Add(5, 6),
 Add(6, 7),
 Add(8, 9),
 ...
)

在 kotlin 中有没有一种方法可以创建这个列表而不必总是重复“添加”函数的名称?

我试过使用“with”和“apply”,但我认为我没有正确使用它。

如果数字是随机生成的,那么您可以使用一些循环来填充列表,例如:

private val myList = genarateAndAdd(20)

private fun generateAndAdd(count: Int): List<Int> {
    val list = mutableListOf<Int>()
    repeat(count) {
        list.add(Add(Random.nextInt(), Random.nextInt()))
    }
    return list
}

其中 countmyList 列表的大小。

你可以使用这个:

import java.util.Random

val random = Random()

val myList = (0..<size of your list>).map{add(random.nextInt(), random.nextInt())}

而不是这个

private val myList = listOf(
    Add(1, 2),
    Add(2, 3),
    Add(3, 4),
    Add(4, 5),
    Add(5, 6),
    Add(6, 7),
    Add(8, 9)
)

你可以这样写

private val myList = listOf(
    1, 2,
    2, 3,
    3, 4,
    4, 5,
    5, 6,
    6, 7,
    8, 9
).chunked(2).map { Add(it[0],it[1]) }