gpt4 book ai didi

scala - 转发集合的最佳实践

转载 作者:行者123 更新时间:2023-12-01 10:20:09 26 4
gpt4 key购买 nike

我正在寻找创建转发集合的最佳实践,例如 Google 中的 Guava :例如,Scala 中的 ForwardingList 如下所示:

   trait ForwardingList[T] 
{
def delegate: List
}

但是我不清楚这个列表应该扩展哪些特征以及哪些方法必须被覆盖,因为有很多候选者

  • 列表[T]
  • ListLike[T, ForwardingList[T]]
  • ListLike[T, List[T]]

最佳答案

您可以采取简单的方法并扩展 SeqProxy :

import collection.SeqProxy

class ForwardingList[T](val self: List[T]) extends SeqProxy[T]

val xs = List(2,3,5,7,11,13)
val fs = new ForwardingList(xs)

println(fs.size) // 6
println(fs(0)) // 2
fs foreach println // 2,...,13

关于scala - 转发集合的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14257523/

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