建立一个Java类,为了演示Java集合类型向Scala集合的转换:
import java.util.ArrayList; import java.util.List; public class School { public List<String> ls = null; public School() { ls = new ArrayList<String>(); ls.add("abc"); ls.add("efg"); } }
import collection.JavaConverters._
import com.citi.java.School
object CollectionDemo4 {
def main(args: Array[String]): Unit = {
//List转String,并且用,分隔
println(List(1,2,3,4,5).mkString(", "))
//List转ArrayBuffer
println(List(1,2,3).toBuffer)
//Map转List
println(Map("a" -> 1, "b" -> 2).toList)
//List转Map
println(List("a" -> 1, "b" -> 2).toMap)
println(List(("a",1), ("b", 2)).toMap)
//Set转Map
println(Set("a" -> 1, "b" -> 2).toMap)
println(Set(("a",1), ("b",1)).toMap)
//List转Set
println(List(1,2,3).toSet)
//Set转List
println(Set(1,2,3).toList)
//包括集合类型的String
println(List(1,2,3).toString())
//java集合类型转scala集合类型
val s = new School()
println(s.ls.asScala.toList)
}
}
运行结果:
1, 2, 3, 4, 5
ArrayBuffer(1, 2, 3)
List((a,1), (b,2))
Map(a -> 1, b -> 2)
Map(a -> 1, b -> 2)
Map(a -> 1, b -> 2)
Map(a -> 1, b -> 1)
Set(1, 2, 3)
List(1, 2, 3)
List(1, 2, 3)
List(abc, efg)