zoukankan      html  css  js  c++  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] = scala2java
            println("")
            java2scala(list)
        }
    
        //测试Java中List转Scala中Seq
        def scala2java:java.util.List[Int] = {
            import scala.collection.JavaConverters._
            println("scala2java")
            val list = Seq(1,2,3,4).asJava
    
            //循环输出显示
            var x = 0
            for(x <- Range(0,list.size)){
                print(list.get(x) + ",")
            }
            list
        }
    
        //测试Java中List转Scala中Seq
        def 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 + ","))
        }

     显示输出结果:

  • 相关阅读:
    Code Review(代码的自我评审)
    在ANDROID STUDIO环境下使用Espresso 测试框架进行UI测试
    第一个迭代任务——倒计时
    Scrum的3种角色划分——倒计时
    需求分析(WBS图)
    countdown(计时器)
    Countdown(计时器)
    团队模式选择
    软件开发流程
    软件团队的模式
  • 原文地址:https://www.cnblogs.com/30go/p/8195164.html
Copyright © 2011-2022 走看看