使用 scala.collection.JavaConverters 与Java集合交互。它有一系列的隐式转换,添加了asJava和asScala的转换方法。

import scala.collection.JavaConverters._

val list: java.util.List[Int] = List(1,2,3,4).asJava

val buffer: scala.collection.mutable.Buffer[Int] = list.asScala

以下集合可以进行任意,转换。但在某些情况下引入的隐式转换不正确或未引入,仍然无法进行正确转换,如API的例子

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.concurrent.Map <=> java.util.concurrent.ConcurrentMap

总结下来就是:collection:可以指定元素排序规则:sort方法或继承comparable

scala.collection.Iterable<=>java.lang.{iterable,collection}

scala.collection.Iterator<=>java.util.{Iterator,Enumeration}

scala的Buffer对应就是java.util.List,不可直接使用,使用ListBuffer

scala.collection.mutable.Buffer<=>java.util.List

scala.collection.mutable.Set<=>java.util.Set

scala.collection.mutable.Map<=>java.util.{Map,Dictionary}

并发安全集合

scala.collection.concurrent.Map<=>java.util.concurrent.ConcurrentMap

以下为scala.collection.mutable.ListBuffer<=>java.util.List

除要求引入相应的转换类JavaConversions._,还有引入ListBuffer=>java.util.List 具体转换方法

List 转 Seq:

List tmpList = new ArrayList<>();

tmpList.add("abc");

Seq tmpSeq = JavaConverters.asScalaIteratorConverter(tmpList.iterator()).asScala().toSeq();

Seq 转 List:

List tmpList = scala.collection.JavaConversions.seqAsJavaList(tmpSeq);

java list 转 scala_Java与Scala集合互转相关推荐

  1. Scala与Java集合互转摘要

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  2. scala to java_Scala 2.13 以后Java集合与Scala集合互相转换

    原来需要Java集合和Scala集合类型互换时引入import scala.collection.JavaConverters._1 即可,但在Scala 2.13版本中JavaConverter已经 ...

  3. Scala函数式编程(三) scala集合和函数

    前情提要: scala函数式编程(二) scala基础语法介绍 scala函数式编程(二) scala基础语法介绍 前面已经稍微介绍了scala的常用语法以及面向对象的一些简要知识,这次是补充上一章的 ...

  4. Scala集合实现WordCount代码实现

    实现思路分析 代码实现 package com.zxl.chapter10/*** 使用scala集合实现WordCount*/ object Scala09_WordCount {def main( ...

  5. scala集合转java_Java,Scala,Guava和Trove集合-它们可以容纳多少数据?

    scala集合转java 关于我们的数据结构的一个有趣的事情是,即使我们非常熟悉它们,但对于我们来说,仍然很难说出像HashMap这样基本的东西在1GB的内存中可以容纳多少个项目. 我们可能会在学校, ...

  6. scala集合中添加元素_如何在Scala中将元素添加到列表中?

    scala集合中添加元素 In Scala, lists are immutable data structures in which adding new elements is not allow ...

  7. Scala 集合 —— Array、Map、Seq、Set

    until vs to until 不包括右端点: to 包括右端点: 格式化输出 val i = 100 val s = "hello world" println(f" ...

  8. java与javascript之间json格式数据互转

    javascript中对象与字符串的互转 对象转为字符串:通过JSON.encode方法,这个是json.js里面的方法,引入到当前文件就可以了. 字符串转换为对象:①使用JSON.decode方法, ...

  9. 1.15 Java 9新增的不可变集合

    Java 9新增的不可变集合 Java 9 版本以前,假如要创建一个包含 6 个元素的 Set 集合,程序需要先创建 Set 集合,然后调用 6 次 add() 方法向 Set 集合中添加元素.Jav ...

最新文章

  1. NLP --- 条件随机场CRF详解 重点 特征函数 转移矩阵
  2. java mysql in_MySQL中Exists和In的使用
  3. SQL2005客户端连接到SQL2000服务器存在的问题
  4. (NO.00001)iOS游戏SpeedBoy Lite成形记(二十二)
  5. python trim函数_python strip()函数 介绍
  6. Project vector on to vector
  7. linux webservice端口号,解决在Linux环境下访问webservice发送中文乱码问题的方案
  8. 小米5如何支持ATT网络运营商
  9. t–sql pl–sql_SQL Server处理器性能指标–第1部分–最重要的CPU指标
  10. 传高盛与德劭前合伙人组5亿美元私募基金
  11. 架构之旅~底层提供一个统一的GetModel()的重要性
  12. 【ML小结2】信息论
  13. 六子棋人机程序Java版(附源码+设计思路)
  14. 数字图像处理100问—27 双三次插值( Bicubic Interpolation )
  15. hdu 2079 选课时间(题目已修改,注意读题)
  16. 个人网站 域名 购买 解析 备案
  17. 华东理工大学计算机网络作业,华东理工大学计算机网络实验操作手册.pdf
  18. C/C++中文帮助手册
  19. 一维数组、二维数组的大小、长度与偏移
  20. MIMO信道的信道容量

热门文章

  1. 如何使用BAdI ORDER_SAVE创建客户自定义的error message
  2. Upload Picture to application server
  3. SAP CRM WebClient UI WebUI Runtime repository design
  4. 如何在Github里创建organization和代码仓库
  5. 如何在SAP ABAP development studio里进行代码coverage分析
  6. 在Kubernetes上运行SAP UI5应用
  7. 伦斯勒理工学院计算机科学本科,【择校解读】伦斯勒理工学院(RPI)院校指南...
  8. php魔术方法例子,PHP中魔术方法的使用举例
  9. python怎么用for循环找出最大值_在for循环Python中查找前10个最大值
  10. 二叉树的后序遍历Python解法