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

1. 转换规则如下

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

  1. scala.collection.Iterable <=> java.lang.Iterable
  2. scala.collection.Iterable <=> java.util.Collection
  3. scala.collection.Iterator <=> java.util.{ Iterator, Enumeration }
  4. scala.collection.mutable.Buffer <=> java.util.List
  5. scala.collection.mutable.Set <=> java.util.Set
  6. scala.collection.mutable.Map <=> java.util.{ Map, Dictionary }
  7. scala.collection.mutable.ConcurrentMap <=> java.util.concurrent.ConcurrentMap
  8. scala.collection.Seq => java.util.List
  9. scala.collection.mutable.Seq => java.util.List
  10. scala.collection.Set => java.util.Set
  11. scala.collection.Map => java.util.Map
  12. java.util.Properties => scala.collection.mutable.Map[String, String]

2. 转换操作步骤

1) 导入包 import scala.collection.JavaConverters._

2) 添加 .asScala或 .asJava

 3. 测试案例

以下为java.util.List 和scala 中 Seq的相互转换:

  1. def main(args: Array[String]): Unit = {
  2.  
  3. val list:java.util.List[Int] = scala2java
  4. println("")
  5. java2scala(list)
  6. }
  7.  
  8. //测试Java中List转Scala中Seq
  9. def scala2java:java.util.List[Int] = {
  10. import scala.collection.JavaConverters._
  11. println("scala2java")
  12. val list = Seq(1,2,3,4).asJava
  13.  
  14. //循环输出显示
  15. var x = 0
  16. for(x <- Range(0,list.size)){
  17. print(list.get(x) + ",")
  18. }
  19. list
  20. }
  21.  
  22. //测试Java中List转Scala中Seq
  23. def java2scala(list:java.util.List[Int]) = {
  24. import scala.collection.JavaConverters._
  25. println("java2scala")
  26. val buffer:scala.collection.mutable.Buffer[Int] = list.asScala
  27.  
  28. //循环输出显示
  29. buffer.foreach(x=> print(x + ","))
  30. }

显示输出结果:

Scala中集合类型与java中集合类型转换的更多相关文章

  1. Oracle数据库中number类型在java中的使用

    1)如果不指定number的长度,或指定长度n>18 id number not null,转换为pojo类时,为java.math.BigDecimal类型 2)如果number的长度在10 ...

  2. js中object类型模拟java中的map

  3. 在MySql中如何定义像Java中类型的Boolean类型

    在MySql中如何定义像Java中类型的Boolean类型数据..其实,mysql中 是没有直接定义成Boolean这种数据类型.它只能定义成 tinyint(1) ;如果长度是1,tinyint(1 ...

  4. 010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二——变量类型——即Java中的数据类型

    010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二--变量类型--即Java中的数据类型 Java中变量的三要素 变量名 变 ...

  5. 【网络收集】数据库中字段类型对应C#中的数据类型

    数据库中字段类型对应C#中的数据类型: 数据库 C#程序 int int32 text string bigint int64 binary System.Byte[] bit Boolean cha ...

  6. 数据库中字段类型对应C#中的数据类型

    数据库中字段类型对应C#中的数据类型:数据库 C#程序 int int32 text string bigint int64 binary System.Byte[] bit Boolean char ...

  7. Oracle数据库date类型与Java中Date的联系与转化

    以下是对Java中的日期对象与Oracle中的日期之间的区别与联系做点说明,以期对大家有所帮助.new Date():分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒),就是系统当前 ...

  8. 【Java】Java中的Collections类——Java中升级版的数据结构【转】

    一般来说课本上的数据结构包括数组.单链表.堆栈.树.图.我这里所指的数据结构,是一个怎么表示一个对象的问题,有时候,单单一个变量声明不堪大用,比如int,String,double甚至一维数组.二维数 ...

  9. c#重点[集合类型]异常,数组,集合ArrayList,List<>,hashTable,hashtable泛型(Dictionary)

    1.foreach[对一些数组或集合进行遍历] foreach(类型 变量名 in 集合对象){语句体} //定义一个数组 ,,,,, }; foreach(var i in sNum1) { Con ...

随机推荐

  1. Mac那些相见恨晚的技巧

    Mac那些相见恨晚的技巧 https://mp.weixin.qq.com/mp/homepage?__biz=MzAxNzcwMTA4Ng==&hid=2&sn=4f42926a59 ...

  2. Jfinal极速开发微信系列教程(二)--------------让微信公众平台通过80端口访问本机

    概述: 微信公众平台要成为开发者,需要填写接口配置信息中的“URL”和“Token”这两项(参见:http://mp.weixin.qq.com/wiki/index.php?title=%E6%8E ...

  3. iPad Air PSD设计模板

    免费下载 免费的ipad air PSD 设计,包含了3个不同颜色的外套的设计. 提供免费下载! 阅读原文:iPad Air PSD设计模板

  4. 【数据压缩】LZW算法原理与源代码解析

    转载请注明出处:http://blog.csdn.net/luoshixian099/article/details/50331883 <勿在浮沙筑高台> LZW压缩算法原理很easy,因 ...

  5. apple iMac一体机 装双系统 实战! (Apple +Win 7 64bit)Good

    原帖:http://group.zol.com.cn/1/641_485.html 需要准备工具:一个8GU盘X1 (或Win7 安装版系统盘) Windows 7 pro 64bit 位 ISO 文 ...

  6. Leet Code OJ 219. Contains Duplicate II [Difficulty: Easy]

    题目: Given an array of integers and an integer k, find out whether there are two distinct indices i a ...

  7. UVA - 10162 Last Digit

    Description  Problem B.Last Digit  Background Give you a integer number N (1<=n<=2*10100). Ple ...

  8. Android 读取assets文件下的txt文件

    android 读取assets文件下的txt文件,解决了读取txt文件的乱码问题: package com.example.com.scrollview; import java.io.Buffer ...

  9. Solr 搜索功能使用

          http://wiki.apache.org/solr/SolrQuerySyntax  http://www.solrcn.com/index.php?s=查询 

  10. Windows2008 R2下,应用程序池 'XXXXXXXX' 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误。

    转:http://www.cnblogs.com/freeton/archive/2012/08/28/2660585.html http://www.hack001.com/post/151