Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Kotlin在for循环中创建变量_Kotlin - Fatal编程技术网

如何使用Kotlin在for循环中创建变量

如何使用Kotlin在for循环中创建变量,kotlin,Kotlin,给定parametersize中的最大列表大小和parameterelements中的元素总数,我需要创建列表列表。在Kotlin的循环中为创建变量的语法是什么 我考虑的方法是在元素添加到列表之前声明和创建列表。然后,当一个列表达到满容量时,它被切换到下一个空列表 这是一个半生不熟的代码: fun listOfLists(size: Int, vararg elements: String): List<List<String>> { var amountOfEl

给定parameter
size
中的最大列表大小和parameter
elements
中的元素总数,我需要创建列表列表。在Kotlin的
循环中为
创建变量的语法是什么

我考虑的方法是在元素添加到列表之前声明和创建列表。然后,当一个列表达到满容量时,它被切换到下一个空列表

这是一个半生不熟的代码:

fun listOfLists(size: Int, vararg elements: String): List<List<String>> {
    var amountOfElements = elements.size
    var currentSubList: List<String> = mutableListOf<String>()
    val numberOfLists: Int = amountOfElements / size + 1

    for (n in 0..numberOfLists) {
        // Code for creating the total number of lists needed
    }

    for (e in elements) {
        if (amountOfElements % size == 0) {
            // Code for switching lists
        }
        amountOfElements--
    }
有趣的列表(大小:Int,vararg元素:String):列表{ var amounteflements=elements.size var currentSubList:List=mutableListOf() val NumberOfList:Int=数量/大小+1 对于(0..NumberOfList中的n){ //用于创建所需列表总数的代码 } 对于(元素中的e){ 如果(amountfements%size==0){ //切换列表代码 } 数量-- }
正如@dyukha正确提到的,您需要的是chunked()函数

fun listOfLists(size: Int, vararg elements: String) = 
   elements.asList().chunked(size)
或者,如果您想真正高效,也可以使用
asSequence()


chunked()
数组上不起作用,因为它是在
可伸缩的
序列上定义的,
数组
没有实现它们中的任何一个。

这是你需要的吗?。实现在这里,如果你感兴趣的话:。@dyukha谢谢你可能重复的答案和注释帮助我实现了,但不要执行ally回答这个问题。
chunked()
不适用于数组吗?。我认为
vararg
给出了一个数组质量的参数。更新了我的答案。
fun listOfLists(size: Int, vararg elements: String) =
    elements.asSequence().chunked(size)