建立一个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)