加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Scala相当于新的HashSet(Collection)

发布时间:2020-12-14 16:40:08 所属栏目:Java 来源:网络整理
导读:什么是等效的 Scala构造函数(以创建不可变的HashSet)到 Java new HashSetT(c) 其中c是Collection 延长T. 我可以在HashSet对象中找到所有内容. 解决方法 答案有两个部分.第一部分是采用T *的Scala变量参数方法是使用Seq [T]的方法.您告诉Scala将Seq [T]作为参
什么是等效的 Scala构造函数(以创建不可变的HashSet)到 Java
new HashSet<T>(c)

其中c是Collection <延长T>. 我可以在HashSet对象中找到所有内容.

解决方法

答案有两个部分.第一部分是采用T *的Scala变量参数方法是使用Seq [T]的方法.您告诉Scala将Seq [T]作为参数列表,而不是使用“seq:_ *”单个参数.

第二部分是将集合[T]转换为Seq [T].在Scala的标准库中没有一般的内置方法,但是一个非常简单(如果不是有效)的方法是通过调用toArray.这是一个完整的例子.

scala> val lst : java.util.Collection[String] = new java.util.ArrayList
lst: java.util.Collection[String] = []

scala> lst add "hello"
res0: Boolean = true

scala> lst add "world"
res1: Boolean = true

scala> Set(lst.toArray : _*)
res2: scala.collection.immutable.Set[java.lang.Object] = Set(hello,world)

注意scala.Predef.Set和scala.collection.immutable.HashSet是同义词.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读