Scala中集合类型与java中集合类型转换
生活随笔
收集整理的這篇文章主要介紹了
Scala中集合类型与java中集合类型转换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
對于java中的集合元素并不能在scala中拿來就用的,需要進行相應的轉換。
1. 轉換規則如下
從下面可以看出,有些可以相互轉換的,有些只能單向轉換:
scala.collection.Iterable <=> java.lang.Iterable scala.collection.Iterable <=> java.util.Collection scala.collection.Iterator <=> java.util.{ Iterator, Enumeration } scala.collection.mutable.Buffer <=> java.util.List scala.collection.mutable.Set <=> java.util.Set scala.collection.mutable.Map <=> java.util.{ Map, Dictionary } scala.collection.mutable.ConcurrentMap <=> java.util.concurrent.ConcurrentMap scala.collection.Seq => java.util.List scala.collection.mutable.Seq => java.util.List scala.collection.Set => java.util.Set scala.collection.Map => java.util.Map java.util.Properties => scala.collection.mutable.Map[String, String]?
2. 轉換操作步驟
1) 導入包?import scala.collection.JavaConverters._
2) 添加 .asScala或 .asJava
?
?3. 測試案例
以下為java.util.List 和scala 中 Seq的相互轉換:
def main(args: Array[String]): Unit = {val list:java.util.List[Int] = scala2javaprintln("")java2scala(list)}//測試Java中List轉Scala中Seqdef scala2java:java.util.List[Int] = {import scala.collection.JavaConverters._println("scala2java")val list = Seq(1,2,3,4).asJava//循環輸出顯示var x = 0for(x <- Range(0,list.size)){print(list.get(x) + ",")}list}//測試Java中List轉Scala中Seqdef java2scala(list:java.util.List[Int]) = {import scala.collection.JavaConverters._println("java2scala")val buffer:scala.collection.mutable.Buffer[Int] = list.asScala//循環輸出顯示buffer.foreach(x=> print(x + ","))}?顯示輸出結果:
?
轉載于:https://www.cnblogs.com/30go/p/8195164.html
總結
以上是生活随笔為你收集整理的Scala中集合类型与java中集合类型转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python爬虫:Xpath语法笔记
- 下一篇: 微信小程序(11)--购物车