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

     显示输出结果:

  • 相关阅读:
    three.js引擎基础知识—摄像机、场景及渲染器
    javaScript执行环境、作用域链与闭包
    zclip笔记:解决zclip失效问题
    jQuery笔记:checkbox
    jenkins笔记:手动更新插件
    Maven笔记:
    MyBatis笔记:invalid bound statement (not found)
    spring jpa data笔记
    springMVC笔记:@ResponseBody
    PDF笔记:内嵌字体
  • 原文地址:https://www.cnblogs.com/30go/p/8195164.html
Copyright © 2011-2022 走看看