gpt4 book ai didi

list - Kotlin 前置元素

转载 作者:IT老高 更新时间:2023-10-28 13:37:42 28 4
gpt4 key购买 nike

我正在寻找 Kotlin 的替代方案:
(cons 1 '(2 3))在 lisp 或
1 : [2, 3]在 haskell 或
1 :: List(2, 3)在斯卡拉中,
(所有结果都像 [1, 2, 3])
所以我可以将一个元素添加到 List<T> (或您可以提供的任何其他列表)。

如果可以提供 O(1) head 也很好和 tail Kotlin 替代品(我只找到了 first())

最佳答案

我认为最简单的方法是写:

var list = listOf(2,3)
println(list) // [2, 3]
list = listOf(1) + list
println(list) // [1, 2, 3]

没有特定的 tail 实现,但您可以调用 .drop(1) 来实现。您可以通过编写这些扩展属性使这个 head\tail 更通用:

val <T> List<T>.tail: List<T>
get() = drop(1)

val <T> List<T>.head: T
get() = first()

然后:

val list = listOf(1, 2, 3)
val head = list.head
val tail = list.tail

更多信息:Kotlin List tail function

关于list - Kotlin 前置元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42892197/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com