在 Kotlin 中,如何获取数组的前 n 个元素

2024-01-05

在 Kotlin 中,如何获取该数组的前 n 个元素:

val allColours = arrayOf(
    Pair(Color.RED, Color.WHITE), 
    Pair(Color.RED, Color.BLACK), 
    Pair(Color.YELLOW, Color.BLACK), 
    Pair(Color.GREEN, Color.WHITE), 
    Pair(Color.BLUE, Color.WHITE), 
    Pair(Color.BLUE, Color.WHITE), 
    Pair(Color.CYAN, Color.BLACK), 
    Pair(Color.WHITE, Color.BLACK))

那么我该如何填写pegColours第一个说 3 对?

var pegColours: Array<Pair<Color,Color>> = //???

I tried allColours.take但它给出了一个错误:

期待一个元素


您需要指定您想要携带的物品数量。

allColours.take(3)

对于随机数量的随机索引,您可以使用以下内容:

val indexes = arrayOf(2, 4, 6)
allColours.filterIndexed { index, s -> indexes.contains(index) }

请注意,您可以为此编写一个扩展方法:

fun <T> Array<T>.filterByIndices(vararg indices: Int) = filterIndexed { index, _ -> indices.contains(index) }

或者,如果索引是连续的,您可以使用切片:

allColours.slice(1..3)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Kotlin 中,如何获取数组的前 n 个元素 的相关文章

随机推荐