博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Scala中集合类型与java中集合类型转换
阅读量:4337 次
发布时间:2019-06-07

本文共 1624 字,大约阅读时间需要 5 分钟。

对于java中的集合元素并不能在scala中拿来就用的,需要进行相应的转换。

1. 转换规则如下

从下面可以看出,有些可以相互转换的,有些只能单向转换:

scala.collection.Iterable <=> java.lang.Iterablescala.collection.Iterable <=> java.util.Collectionscala.collection.Iterator <=> java.util.{ Iterator, Enumeration }scala.collection.mutable.Buffer <=> java.util.Listscala.collection.mutable.Set <=> java.util.Setscala.collection.mutable.Map <=> java.util.{ Map, Dictionary }scala.collection.mutable.ConcurrentMap <=> java.util.concurrent.ConcurrentMapscala.collection.Seq  => java.util.Listscala.collection.mutable.Seq => java.util.Listscala.collection.Set  => java.util.Setscala.collection.Map => java.util.Mapjava.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 + ","))    }

 显示输出结果:

 

转载于:https://www.cnblogs.com/30go/p/8195164.html

你可能感兴趣的文章
Thrift源码分析(二)-- 协议和编解码
查看>>
考勤系统之计算工作小时数
查看>>
4.1 分解条件式
查看>>
Equivalent Strings
查看>>
flume handler
查看>>
收藏其他博客园主写的代码,学习加自用。先表示感谢!!!
查看>>
H5 表单标签
查看>>
su 与 su - 区别
查看>>
C语言编程-9_4 字符统计
查看>>
在webconfig中写好连接后,在程序中如何调用?
查看>>
限制用户不能删除SharePoint列表中的条目(项目)
查看>>
feign调用spring clound eureka 注册中心服务
查看>>
ZT:Linux上安装JDK,最准确
查看>>
LimeJS指南3
查看>>
关于C++ const成员的一些细节
查看>>
《代码大全》学习摘要(五)软件构建中的设计(下)
查看>>
C#检测驱动是否安装的问题
查看>>
web-4. 装饰页面的图像
查看>>
微信测试账户
查看>>
Android ListView上拉获取下一页
查看>>