📅  最后修改于: 2023-12-03 15:21:54.885000             🧑  作者: Mango
Scala是一种既支持面向对象编程,又支持函数式编程的编程语言,它与Java语言一样都是运行在JVM上的。Scala集合框架比Java集合框架更加强大,更加灵活,提供了更多的可操作性。
在本文中,我们将介绍如何从Java集合转换为Scala集合,以及如何从Scala集合转换为Java集合。
从Java集合转换为Scala集合需要用到Scala的JavaConversions包。
import scala.collection.JavaConversions._
val javaList = new java.util.ArrayList[Int]()
javaList.add(1)
javaList.add(2)
javaList.add(3)
val scalaList = javaList.toList
println(scalaList) // List(1, 2, 3)
在上面的代码片段中,我们首先使用了Java的ArrayList类创建了一个Java集合,然后使用JavaConversions的toList方法将其转换为Scala的List集合,最后打印出了转换后的Scala集合。
同样的,我们也可以将Java的Set集合转换为Scala的Set集合:
import scala.collection.JavaConversions._
val javaSet = new java.util.HashSet[Int]()
javaSet.add(1)
javaSet.add(2)
javaSet.add(3)
val scalaSet = javaSet.toSet
println(scalaSet) // Set(1, 2, 3)
同样的,我们也可以将Java的Map集合转换为Scala的Map集合:
import scala.collection.JavaConversions._
val javaMap = new java.util.HashMap[String, Int]()
javaMap.put("one", 1)
javaMap.put("two", 2)
javaMap.put("three", 3)
val scalaMap = javaMap.toMap
println(scalaMap) // Map(one -> 1, two -> 2, three -> 3)
从Scala集合转换为Java集合需要用到Scala的JavaConverters包。
import scala.collection.JavaConverters._
val scalaList = List(1, 2, 3)
val javaList = scalaList.asJava
println(javaList) // [1, 2, 3]
在上面的代码片段中,我们首先使用了Scala的List集合,然后使用JavaConverters的asJava方法将其转换为Java的ArrayList集合,最后打印出了转换后的Java集合。
同样的,我们也可以将Scala的Set集合转换为Java的Set集合:
import scala.collection.JavaConverters._
val scalaSet = Set(1, 2, 3)
val javaSet = scalaSet.asJava
println(javaSet) // [1, 2, 3]
同样的,我们也可以将Scala的Map集合转换为Java的Map集合:
import scala.collection.JavaConverters._
val scalaMap = Map("one" -> 1, "two" -> 2, "three" -> 3)
val javaMap = scalaMap.asJava
println(javaMap) // {one=1, two=2, three=3}
在本文中,我们介绍了如何从Java集合转换为Scala集合,以及如何从Scala集合转换为Java集合。Scala的集合框架强大又灵活,它提供了更多的可操作性,我们应该在实际开发中多加使用。