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 + ","))
        }

     显示输出结果:

  • 相关阅读:
    WCF客户端链接服务超时客户端close
    C# byte数组常用扩展浅析(转)
    代码生成相关工具及技术
    已处理证书链,但是在不受信任提供程序信任的根证书中终止。
    清理SQL Server数据库日志的两种方法
    开源框架项目列表
    SQL Server数据库文件恢复技术
    VS2008找不到导出模板
    jquery 学习笔记(二)
    方法的参数的默认值设置
  • 原文地址:https://www.cnblogs.com/30go/p/8195164.html
Copyright © 2011-2022 走看看