Scala中集合类型与java中集合类型转换
2023-09-14 08:57:20 时间
对于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 + ",")) }
显示输出结果:
相关文章
- 深入java面向对象四:Java 内部类种类及使用解析(转)
- Java实现 LeetCode 795 区间子数组个数 (暴力分析)
- Java实现 LeetCode 440 字典序的第K小数字
- Java实现 LeetCode 127 单词接龙
- java实现坐标
- java实现第五届蓝桥杯海盗分金币
- java实现第五届蓝桥杯格子放鸡蛋
- Java实现无向图的欧拉回路判断问题
- 【JAVA秒会技术之秒杀面试官】秒杀Java面试官——集合篇(一)
- Eclipse 报 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误的解决办法
- java判断A字符串是否包含B字符串
- Java_myBatis_全局配置文件
- Spark之wordcount程序(Java Scala)
- 深入理解JAVA虚拟机--Idea远程执行本地Java代码
- 【JAVA】MacBook安装Java环境及eclipse
- Scala数组和Java集合互转代码演示
- Scala语言编译之后生成的Java代码解读
- Atitit 搜索蓝牙设备 powershell的实现 java noede.js python 先用脚本语言python nodejs,不好实现。。Java 也不好实现。。 Netcore可以,
- 【Java用法】java 8两个List集合取交集、并集、差集、去重并集
- 【 华为OD机试 2023】 上班之路/是否能到达公司(C++ Java JavaScript Python)
- JVM语言生态结构原理图 从Java,Kotlin,Scala,Groovy等语言的编译、执行全过程图示解析...
- Java 8 中的 java.util.Map#computeIfAbsent
- 编程实践精华总结集锦系列2: SpringBoot/Maven/IDEA/Java/Kotlin/Redis等等
- JAVA词汇大全
- java的this关键字理解
- Java:openjdk: error: Student is abstract; cannot be instantiated;java编译环境
- 【java】Java 接口(Interface)