在Scala中表达单个元素的可迭代的最惯用的方法是什么?

时间:2016-05-18 16:35:28

标签: scala collections optional

到目前为止,当我需要传递仅由一个元素组成的Iterable时,我传递Some值;但这需要隐式转换。

在Java中,我会使用java.util.Collections.singleton,我猜Scala中的某些东西更适合这个用例。

2 个答案:

答案 0 :(得分:2)

Iterable(x),就像获得SeqSeq(x)等单个元素的List(x)一样。

答案 1 :(得分:0)

在查看可能符合条款的集合applyIterableSeq)的List方法(构造函数)的实现后,采取varargs,需要额外包装数组中的对象,然后循环它或调用另一种方法。

所以我认为我会坚持使用像<{1}}这样的对象 consing ;这看起来是实现它的最轻量级的方式,并且明确表示你正在制作一个集合。