我有一个列表val l=List(4,3,2,1)
,我想生成一个元组列表,格式为(4,3), (4,2)
等等。
这是我目前拥有的:
for (i1<-0 to l.length-1;i2<-i1+1 to l.length-1) yield (l(i1),l(i2))
输出结果是:Vector((4,3), (4,2), (4,1), (3,2), (3,1), (2,1))
以下是两个问题:
它生成了一个
Vector
,而不是List
。它们有什么不同?这是使用
scala语言惯用方式
吗?我非常新手Scala,所以学习正确很重要。
Vector
和List
在实现方面有所不同。具体来说,Vector
比List
更适合随机访问和更新,而List
则更适合头部的插入和删除操作。是的,这是使用Scala的惯用方式。你的代码已经足够简洁和优雅,没有必要进行修改。