gpt4 book ai didi

scala - 在 Scala 中交换集合元素的好方法是什么?

转载 作者:行者123 更新时间:2023-12-03 21:24:39 26 4
gpt4 key购买 nike

在我的一个项目中,一个常见的用例不断出现。在某些时候,我得到了某种类型的排序集合(列表、序列等......无关紧要)和这个集合的一个元素。我想要做的是将给定的元素与其后面的元素(如果此元素存在)或在某些时候与前面的元素交换。

我很清楚使用过程编程技术实现这一目标的方法。我的问题是通过函数式编程(在 Scala 中)解决问题的好方法是什么?

谢谢大家的答案。我接受了我自己最了解的一个。由于我不是函数式程序员(还),因此我很难决定哪个答案是真正最好的。在我看来,他们都很好。

最佳答案

以下是与列表中的下一个元素交换的功能版本,您只需构造一个交换元素的新列表。

def swapWithNext[T](l: List[T], e : T) : List[T] = l match {
case Nil => Nil
case `e`::next::tl => next::e::tl
case hd::tl => hd::swapWithNext(tl, e)
}

关于scala - 在 Scala 中交换集合元素的好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3335363/

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