3、数组和集合

数组

------------------------------------------------------------------

一维数组

object Demo2 {def main(args: Array[String]): Unit = {//定义数组,并指定长度val arr1 = new Array[Int](5)arr1(0) = 1arr1(2) = 4printarr(arr1)//初始化并赋值val arr2 = Array[String]("lyb","qqq")val arr22 = Array.apply[String]("lyb","qqq")val arr3 = Array("qq","ee")val arr33 = Array.apply("qq","ee")}def printarr(array: Array[Int]): Unit ={for(i <- 0 until array.length)print(array(i) + " ")}}

多维数组

scala> val arr = Array.ofDim[String](2,3)
arr: Array[Array[String]] = Array(Array(null, null, null), Array(null, null, null))
scala> arr(0)(1)="qq"
scala> arr
res34: Array[Array[String]] = Array(Array(null, qq, null), Array(null, null, null))

 

 

数组缓冲区

----------------------------------------------------------------

scala> import scala.collection.mutable.ArrayBuffer
import scala.collection.mutable.ArrayBufferscala> val ab1 = new ArrayBuffer[Int](5)
ab1: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer()

append

scala> ab1.appenddef append(elems: Int*): Unitscala> ab1.append(1,2,3)scala> ab1
res1: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 2, 3)

prepend

scala> ab1.prependdef prepend(elems: Int*): Unitscala> ab1.prepend(4,5)scala> ab1
res3: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(4, 5, 1, 2, 3)

length

scala> ab1.length
res5: Int = 5

+=  修改自身

scala> ab1 += 6
res6: ab1.type = ArrayBuffer(4, 5, 1, 2, 3, 6)

.++=  修改自身

scala> ab1.++= (7 to 8)
res7: ab1.type = ArrayBuffer(4, 5, 1, 2, 3, 6, 7, 8)

-=  删除前面的值

scala> ab1
res13: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(4, 5, 1, 2, 3, 6, 7, 8, 7, 8)scala> ab1.-=8
<console>:1: error: ';' expected but integer literal found.
ab1.-=8^scala> ab1.-=(8)
res14: ab1.type = ArrayBuffer(4, 5, 1, 2, 3, 6, 7, 7, 8)

trimEnd

scala> ab1.trimEnddef trimEnd(n: Int): Unitscala> ab1.trimEnd(3)scala> ab1
res16: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(4, 5, 1, 2, 3, 6)

insert

scala> ab1.insertdef insert(n: Int,elems: Int*): Unitscala> ab1.insert(1,0 to 3:_*)scala> ab1
res18: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(4, 0, 1, 2, 3, 5, 1, 2, 3, 6)

toArray

scala> ab1.toArraydef toArray[B >: Int](implicit evidence$1: scala.reflect.ClassTag[B]): Array[B]scala> ab1.toArray
res19: Array[Int] = Array(4, 0, 1, 2, 3, 5, 1, 2, 3, 6)

 reverse

scala> ab1
res23: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(4, 0, 1, 2, 3, 5, 1, 2, 3, 6)scala> ab1.reverse
res24: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(6, 3, 2, 1, 5, 3, 2, 1, 0, 4)scala> ab1
res25: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(4, 0, 1, 2, 3, 5, 1, 2, 3, 6)

sum、max...

scala> ab1.sum
res26: Int = 27scala> ab1.max
res27: Int = 6

mkString

scala> ab1.mkStringdef mkString(sep: String): String
def mkString: String   def mkString(start: String,sep: String,end: String): Stringscala> ab1.mkString(",")
res30: String = 4,0,5,1,2,3

 

java和scala互操作

--------------------------------------------------------------------------------

1、java的List 转 scala的Buffer

scala> val list:java.util.List[String] = new java.util.ArrayList()
list: java.util.List[String] = []scala> list.add("qq")
res27: Boolean = truescala> list.add("ww")
res28: Boolean = truescala> list
res29: java.util.List[String] = [qq, ww]scala> import scala.collection.JavaConversions.asScalaBuffer
import scala.collection.JavaConversions.asScalaBufferscala> val buff = list.toBuffer
buff: scala.collection.mutable.Buffer[String] = ArrayBuffer(qq, ww)scala> buff
res30: scala.collection.mutable.Buffer[String] = ArrayBuffer(qq, ww)

2、scala的Buffer 转 java的List

scala> import scala.collection.mutable.ArrayBuffer
import scala.collection.mutable.ArrayBufferscala> val arr = ArrayBuffer("qq","ww")
arr: scala.collection.mutable.ArrayBuffer[String] = ArrayBuffer(qq, ww)scala> import scala.collection.JavaConverters.bufferAsJavaListConverter
import scala.collection.JavaConverters.bufferAsJavaListConverterscala> arr.asJava
res0: java.util.List[String] = [qq, ww]

 

转载于:https://www.cnblogs.com/lybpy/p/9716155.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/367178.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

unity 删除服务器项目,在吗?有个支持批量构建项目的好东西推荐给你

Unity Build Server是一种全新的项目构建辅助工具&#xff0c;它可以指定硬件设备&#xff0c;专门用于构建项目版本&#xff0c;帮助工作室大规模构建项目&#xff0c;提高团队生产力。很多人在选择Unity时并不会首先考虑到项目构建问题&#xff0c;而随着项目变得更大、更复杂…

使用WSO2 ESB构建制造服务总线(MSB)

在开始讨论本主题之前&#xff0c;我想介绍一些制造业中常用的术语。 术语制造执行系统&#xff08;MES&#xff09;由AMR Research于1990年提出&#xff0c;从先进的制造计算机信息系统的发展&#xff0c;MES概念已经发展了近三十年。 以下是制造执行系统协会&#xff08;MES…

mysql jion 实现原理_MySQL-join的实现原理、优化及NLJ算法

案例分析&#xff1a;selectc.*fromhotel_info_original cleft joinhotel_info_collection honc.hotel_typeh.hotel_typeandc.hotel_idh.hotel_idwhereh.hotel_idis null这个sql是用来查询出 c 表中有 h 表中无的记录&#xff0c;所以想到了用 left join 的特性(返回左边全部记…

手把手教你写一份优质的前端技术简历

不知不觉一年一度的秋招又来了&#xff0c;你收获了哪些大厂的面试邀约&#xff0c;又拿了多少offer呢&#xff1f;你身边是不是有挺多人技术比你差&#xff0c;但是却拿到了很多大厂的offer呢&#xff1f;其实&#xff0c;要想面试拿offer&#xff0c;首先要过得了简历那一关。…

地兵布阵 -----------HDU-1166

C国的死对头A国这段时间正在进行军事演习&#xff0c;所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段&#xff0c;所以每个工兵营地的人数C国都掌握的一…

python笔记30-docstring注释添加变量

前言 python里面添加字符串注释非常简单&#xff0c;如何将变量放入 python 的函数注释里面呢&#xff1f; docstring也就是给代码加注释的内容了&#xff0c;python可以给函数&#xff0c;类、方法&#xff0c;模块添加注释内容&#xff0c;注释标准格式一般是三个双引号&…

无线路由器在手机上如何连接服务器,192.168.10.1路由器手机怎么设置? | 192路由网...

问&#xff1a;192.168.10.1路由器手机怎么设置&#xff1f;答&#xff1a;192.168.10.1是一个C类的私有IP地址&#xff0c;目前国产的路由器中&#xff0c;睿因路由器使用192.168.10.1作为默认登录地址。鉴于此&#xff0c;下面鸿哥使用睿因路由器来进行演示介绍。温馨提示&am…

Java Mission Control 5.2终于来了! 欢迎7u40!

自从我们上次听说这个叫做任务控制的小东西已经有一段时间了。 它从JRockit一直到现在都被重命名为Java Mission Control。 这是从HotSpot和JRockit融合战略中幸存下来的部分之一。 使用今天的Java SE 7 Update 40&#xff0c;您实际上可以再次使用它。 Java Mission Control …

webview布局适配实践

一、相关概念 1、viewport&#xff1a;移动设备&#xff08;包括webview&#xff09;用来显示网页的那一块区域&#xff1b; 2、devicePixelRatio属性(别名像素比&#xff0c;简称dpr)&#xff1a;window.devicePixelRatio 物理像素 / 独立像素(css中的px)&#xff1b; 3、rem…

mysql count 不等于_Mysql 不同的 count 区别

不同 count 的区别&#xff1a;count(*)、count(主键 id)和 count(1) 都表示返回满足条件的结果集的总行数&#xff1b;而 count(字 段)&#xff0c; 则表示返回满足条件的数据行里面&#xff0c;参数“字段”不为 NULL 的总个数。性能&#xff1a;count(主键 id)&#xff1a;I…

Python3爬虫(四)请求库的使用requests

Infi-chu: http://www.cnblogs.com/Infi-chu/ 一、基本用法&#xff1a; 1. 安装&#xff1a; pip install requests 2. 例子&#xff1a; import requests url http://www.baidu.com r requests.get(url) print(type(r)) # 类型是str&#xff08;JSON格式&#xff09; pr…

后台通过request.setAttribute向前台传值,前台如何去获取其中的对象或属性值

讲这些&#xff0c;我们先来了解一下request.setAttribute和request.setAttribute()这两种方法的作用。 request.getAttribute("nameOfObj"); 可得到jsp页面表单中输入框内的value。&#xff08;其实表单控件中的Object的name与value是存放在一个哈希表中的&#xff…

两个用于Eclipse的TCK –开源到底有什么?

早在5月&#xff0c;Oracle就向Eclipse Foundation 授予了兼容性测试奖学金 。 在过去的几天里&#xff0c;这引起了媒体的关注&#xff0c;我只是想确保我对整个过程和详细动作有所了解。 看起来像是一见钟情的简单诚实的礼物实际上具有更多的方面。 但让我们从头开始&#xf…

尝试连接到服务器时出错请检查虚拟机管理器,Hyper-V尝试连接到服务器出错无效类的解决方法...

Hyper-V尝试连接到服务器出错无效类的解决方法Windows10安装Hyper-V后没有自动连接到本地计算机&#xff0c;手工连接失败&#xff0c;提示&#xff1a;引用内容尝试连接到服务器"DESKTOP-6P9L2HB"时出错。请检查虚拟机管理服务是否正在运行以及是否授权你连接到此服…

Flask和mysql多线程_Flask解析(二):Flask-Sqlalchemy与多线程、多进程

Sqlalchemyflask-sqlalchemy的session是线程安全的&#xff0c;但在多进程环境下&#xff0c;要确保派生子进程时&#xff0c;父进程不存在任何的数据库连接&#xff0c;可以通过调用db.get_engine(appapp).dispose()来手动销毁已经创建的engine&#xff0c;然后再派生子进程。…

深入理解redis数据类型

转载请注明出处&#xff1a;https://www.cnblogs.com/wenjunwei/p/9720033.html redis的存储模型 redis不是普通的键值对存储&#xff0c;它实际上是一个数据结构存储服务器&#xff0c;可以支持不同类型的值。这意味着redis相比传统键值对字符串key和字符串value存储来说&…

centos7 登陆报错 grep:write error

出现这个原因是因为磁盘空间满了 通过df -h查看存储空间 发现磁盘空间满了&#xff0c;可以用 find / -type f -size 1000M 查找大于1000M的文件删除 然后找到用rm -rf 命令删除 然后就不会出现这个问题了&#xff01;转载于:https://www.cnblogs.com/lxs1314/p/8961113.html

你敢在post和get上刁难我,就别怪我装逼了

> 掘金编辑提醒&#xff1a;本文疑似有误&#xff0c;参考 听说「99% 的人都理解错了 HTTP 中 GET 与 POST 的区别」 之前好几次面试都被问到post和get有什么区别&#xff0c;肯定很多同学和我一样说了一大堆什么post比get安全&#xff0c;get比post传的少乱起八糟这样的答案…

昂首阔步:让开发人员喜欢使用您的REST API

随着JAX-RS API的发展&#xff0c;以及今年早些时候在JSR-339下发布的2.0版本&#xff0c;使用出色的Java平台创建REST服务变得更加容易。 但是&#xff0c;极大的简化带来了巨大的责任&#xff1a;记录所有这些API&#xff0c;以便其他开发人员可以快速了解如何使用它们。 不…

thinkphp mysql 更新_THINKPHP5修改数据库数据出现“缺少更新条件”的错误

查询数据库的数据分配显示在页面山修改后的数据准备传递到第三章图里接收数据&#xff0c;然后修改到数据问题出现的环境背景及自己尝试过哪些方法相关代码// 请把代码文本粘贴到下方(请勿用图片代替代码)第一张图代码public function edit(){$db_01new DB();$id_editRequest::…