📜  从Java集到 Scala 集的转换(1)

📅  最后修改于: 2023-12-03 15:21:54.885000             🧑  作者: Mango

从Java集到Scala集的转换

Scala是一种既支持面向对象编程,又支持函数式编程的编程语言,它与Java语言一样都是运行在JVM上的。Scala集合框架比Java集合框架更加强大,更加灵活,提供了更多的可操作性。

在本文中,我们将介绍如何从Java集合转换为Scala集合,以及如何从Scala集合转换为Java集合。

从Java集合转为Scala集合

从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集合转换为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的集合框架强大又灵活,它提供了更多的可操作性,我们应该在实际开发中多加使用。