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,同时有时候需要在二者之间进行转换,而且将来集合又用的很多。

相关文章
|
12月前
|
Java API 微服务
2025 年 Java 从入门到精通学习笔记全新版
《Java学习笔记:从入门到精通(2025更新版)》是一本全面覆盖Java开发核心技能的指南,适合零基础到高级开发者。内容包括Java基础(如开发环境配置、核心语法增强)、面向对象编程(密封类、接口增强)、进阶技术(虚拟线程、结构化并发、向量API)、实用类库与框架(HTTP客户端、Spring Boot)、微服务与云原生(容器化、Kubernetes)、响应式编程(Reactor、WebFlux)、函数式编程(Stream API)、测试技术(JUnit 5、Mockito)、数据持久化(JPA、R2DBC)以及实战项目(Todo应用)。
596 5
|
存储 Java
# 【Java全栈学习笔记-U1-day02】变量+数据类型+运算符
本篇笔记主要围绕Java全栈学习的第二天内容展开,涵盖了变量、数据类型、运算符以及Scanner类的应用。首先介绍了变量的概念与命名规范,以及如何定义和使用变量;接着详细讲解了Java中的基本数据类型,包括整型、浮点型、字符型、布尔型等,并通过实例演示了数据类型的运用。随后,深入探讨了各类运算符(赋值、算术、关系、逻辑)及其优先级,帮助理解表达式的构成。最后,介绍了如何利用Scanner类实现用户输入功能,并通过多个综合示例(如计算圆面积、购物打折、变量交换及银行利息计算)巩固所学知识。完成相关作业将进一步加深对这些基础概念的理解与实践能力。
290 13
|
9月前
|
小程序 Java 知识图谱
Java 学习笔记 —— BMI & BMR 计算器
这是一个使用 Java 编写的 BMI 与 BMR 计算器小程序,可输入年龄、性别、身高和体重,计算身体质量指数(BMI)和基础代谢率(BMR),并输出健康评估结果。通过该项目,掌握了 Java 的输入处理、数据验证、条件判断、数学运算及格式化输出等基础知识,是 Java 初学者的理想练习项目。
|
9月前
|
Java
Java 数组学习笔记
本文整理Java数组常用操作:遍历、求和、查找、最值及二维数组行求和等典型练习,涵盖静态初始化、元素翻倍、去极值求平均等实例,帮助掌握数组基础与应用。
|
人工智能 Java
Java 中数组Array和列表List的转换
本文介绍了数组与列表之间的相互转换方法,主要包括三部分:1)使用`Collections.addAll()`方法将数组转为列表,适用于引用类型,效率较高;2)通过`new ArrayList<>()`构造器结合`Arrays.asList()`实现类似功能;3)利用JDK8的`Stream`流式计算,支持基本数据类型数组的转换。此外,还详细讲解了列表转数组的方法,如借助`Stream`实现不同类型数组间的转换,并附带代码示例与执行结果,帮助读者深入理解两种数据结构的互转技巧。
1027 1
Java 中数组Array和列表List的转换
|
开发框架 Java 开发工具
【Java全栈学习笔记-U1-day01】Java介绍
本笔记整理了Java学习的基础内容,涵盖程序理解、Java语言特性、JDK安装与配置、Java程序开发工具及编写步骤。重点介绍了Java程序的基本结构、编译和运行过程,以及输出语句的使用。通过实例演示了IDEA创建Java程序的方法,并强调了编码规范和注意事项。适合初学者复习和交流学习。 主要内容: 1. 理解程序:计算机组成、程序定义。 2. 简介:Java语言特点、技术平台、JDK作用。 3. 编写Java程序:编写、编译、运行步骤,基本结构。 4. 输出语句 5. DEA使用:新建工程、保存位置、文件介绍、新建类。 6. 扩展:注释、代码规范、大小写敏感、缩进等。
|
Java 程序员
Java|List.subList 踩坑小记
不应该仅凭印象和猜测,就开始使用一个方法,至少花一分钟认真读完它的官方注释文档。
417 1
|
Java 数据库连接 API
Spring 框架的介绍(Java EE 学习笔记02)
Spring是一个由Rod Johnson开发的轻量级Java SE/EE一站式开源框架,旨在解决Java EE应用中的多种问题。它采用非侵入式设计,通过IoC和AOP技术简化了Java应用的开发流程,降低了组件间的耦合度,支持事务管理和多种框架的无缝集成,极大提升了开发效率和代码质量。Spring 5引入了响应式编程等新特性,进一步增强了框架的功能性和灵活性。
|
Java Scala
Scala入门到精通——第二十八节 Scala与JAVA互操作
本节主要内容 JAVA中调用Scala类 Scala中调用JAVA类 Scala类型参数与JAVA泛型互操作 Scala与Java间的异常处理互操作 1. JAVA中调用Scala类 Java可以直接操作纵Scala类,如同Scala直接使用Java中的类一样,例如: //在Person.scala文件中定义Scala语法的Person类 package cn.
3595 0
|
分布式计算 大数据 Java
大数据-87 Spark 集群 案例学习 Spark Scala 案例 手写计算圆周率、计算共同好友
大数据-87 Spark 集群 案例学习 Spark Scala 案例 手写计算圆周率、计算共同好友
293 5