Java 的 List 转 scala的Buffer | 学习笔记

简介: 快速学习 Java 的 List 转 scala 的 Buffer

开发者学堂课程【Scala 核心编程 - 进阶Java 的 List 转 scala 的 Buffer学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/610/detail/9029


Java 的 List 转 scala 的 Buffer


Java 的 List 转 Scala 数组(mutable.Buffer)

在项目开发中,有时需要将 Java 的 List 转成 Scala 数组,看下面案例:

假如说这里有一个 List,是 JAVA 的 list,先把它付给了一个 mutable.buffer,mutable.buffer 是 Arraybuffer 的父类,转完之后就可以 append 加上一些东西,里面也用到了一个隐式转换,是 JavaConversions 里面的方法是 asScalaBuffer。

Println(arrList)//输出[1,2,3]

/说明

/1. asscaLaBuffer 是一个式函数/ *

它的样子是:implicit def asscaLaBuffer[A](L : java.utiL.List[A]) : scala.coLLection.mutable .Buf fer[A] = i{/ * compiled code +/ }可以接收一个 List,把它转成 JAVA

collection 里面的 mutable的Buffer,这个 buffer 可以当成 ARRAYbuffer 来使用,这里面就用到了隐式函数的特点,此时它的应用场景跟刚才不一样,刚才是传参数时触发了隐式函数,而这个时候是赋值的时候触发了隐式函数,只要在范围内能找到函数就可以。

*/

现在研究的话题是 Java 的 list 转成 scala的Arraybuffer.

import scala.collection.JavaConversions.asScalaBuffer

import scala.collection.mutable(引入一下)

//java.util.List ==>Buffer(变成了buffer类型的输出,append是支持的)

val scalaArr: mutable.Buffer[String] = arrList arrList赋给 mutable.Buffer mutable.Buffer是ArrayBuffer的父类)

scalaArr.append(""jack")

scalaArr.append("tom")

scalaArr.remove(0)假如以后有 JAVA 的 list 想要使用,想要转换也是可以的。这里remove 后面是0的话,原来的1就没有了。

printLn(scalaArr)/ / 输出为(2,3,jack ,tom)

}

运行结果如下:

D : \program\jdks\binljava[1,2,3]

ArrayBuffer(2, 3, jacik, tom)

Process finished with exit code 0

Scala 麻烦的部分就是它既有 Scala 又有 Java,同时有时候需要在二者之间进行转换,而且将来集合又用的很多。

相关文章
|
2月前
|
存储 Java
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
|
28天前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
从Java环境的搭建到实际代码的编写,从基本用法的讲解到底层原理的剖析,深度解析Java基础知识。本文是《Java学习路线》专栏的起始文章,旨在提供一套完整的Java学习路线,覆盖Java基础知识、数据库、SSM/SpringBoot等框架、Redis/MQ等中间件、设计模式、架构设计、性能调优、源码解读、核心面试题等全面的知识点,并在未来不断更新和完善,帮助Java从业者在更短的时间内成长为高级开发。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
|
28天前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(进阶篇)
本文是Java基础的进阶篇,对异常、集合、泛型、Java8新特性、I/O流等知识进行深入浅出的介绍,并附有对应的代码示例,重要的地方带有对性能、底层原理、源码的剖析。适合Java初学者。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(进阶篇)
|
14天前
|
存储 JSON NoSQL
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
这篇文章是关于Redis基本数据结构的学习笔记,包括了String、Hash、Set、List和SortedSet的介绍和常用命令。文章解释了每种数据结构的特点和使用场景,并通过命令示例演示了如何在Redis中操作这些数据结构。此外,还提供了一些练习示例,帮助读者更好地理解和应用这些数据结构。
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
|
28天前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(高级篇)
本文是“Java学习路线”中Java基础知识的高级篇,主要对多线程和反射进行了深入浅出的介绍,在多线程部分,详细介绍了线程的概念、生命周期、多线程的线程安全、线程通信、线程同步,并对synchronized和Lock锁;反射部分对反射的特性、功能、优缺点、适用场景等进行了介绍。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(高级篇)
|
2月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
50 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
2月前
|
jenkins Java Shell
jenkins学习笔记之十三:配置SonarScanner扫描Java项目
jenkins学习笔记之十三:配置SonarScanner扫描Java项目
|
4月前
|
安全 Java
java线程之List集合并发安全问题及解决方案
java线程之List集合并发安全问题及解决方案
620 1
|
3月前
|
Java API Apache
怎么在在 Java 中对List进行分区
本文介绍了如何将列表拆分为给定大小的子列表。尽管标准Java集合API未直接支持此功能,但Guava和Apache Commons Collections提供了相关API。
|
3月前
|
运维 关系型数据库 Java
PolarDB产品使用问题之使用List或Range分区表时,Java代码是否需要进行改动
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。