scala学习——(1)scala基础(下)
(七)定长数组
- val array_name = new Array[T](length)
- val array_name = Array("","")
- 通过()访问,而不是[]
scala> val a = new Array[Int](5)
a: Array[Int] = Array(0, 0, 0, 0, 0) scala> val a = Array("Jack","Luncy")
a: Array[String] = Array(Jack, Luncy)
scala> a(1)
res10: String = Luncy
(八)变长数组
- import scala.collection.mutable.ArrayBuffer
- val buff = ArrayBuffer[T]()
- +=/++=/insert/remove/toArray/sum/max/reverse
scala> val a = scala.collection.mutable.ArrayBuffer[Int]()
a: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer() scala> a += 1
res11: a.type = ArrayBuffer(1) scala> a += 2
res12: a.type = ArrayBuffer(1, 2) scala> a += (3,4,5)
res13: a.type = ArrayBuffer(1, 2, 3, 4, 5) scala> a ++=Array(6,7,8)
res15: a.type = ArrayBuffer(1, 2, 3, 4, 5, 6, 7, 8)
scala> a.insert(0,0) scala> a
res17: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(0, 1, 2, 3, 4, 5, 6, 7, 8) scala> a.remove(2)
res18: Int = 2 scala> a
res19: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(0, 1, 3, 4, 5, 6, 7, 8) scala> a.remove(0,1) scala> a
res21: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 3, 4, 5, 6, 7, 8)
scala> a.toArray.sum
res23: Int = 34 scala> a.toArray.min
res24: Int = 1 scala> a.toArray.max
res25: Int = 8
scala> a.trimEnd(2) scala> a
res27: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 3, 4, 5, 6)
(九)遍历数组
- for(i <- 0 until array_name.length)
- for(i<-array_name)
- 事实上会更多的使用map、filter等等来操作
val b = Array(1,2,3,4,5,6,7,8)
for (i <- 0 until b.length){
println(i)
val b = Array(1,2,3,4,5,6,7,8)
for (elem <- b){
println(elem)
Map(可变与不可变)
- 不可变 val age = Map("Jack"->20,"Luncy"->"18")
- 可变 val age = scala.collection.mutable.Map(...)
- 初始化 val m = scala.collection.mutable.Map[String,Int]()
Map操作
- 取值map(key),更好的方式map.getOrElse(key,default)
- 更新map(key)=value /+=/-=
- 迭代for((k,v)<-map){},也可以单独key或者value
- for((k,-)<-map)/for((-,v)<-map){},也可以使用map.keySet或者map.values
val age = Map("Jack"->20,"Luncy"->"18")
for ((k,v) <- age){
println("key is " + k +"value is "+v)
}
key is Jackvalue is 20
key is Luncyvalue is 18
元组操作
- ()里包含一系列的值
- 通过._取值,下标从1开始。例如t._1
- 迭代for(elem <- t.productlterator)
scala> val a = (1,2,3,4)
a: (Int, Int, Int, Int) = (1,2,3,4) scala> a._1
res41: Int = 1
参考资料:小象学院 陈超 仅供学习研究
scala学习——(1)scala基础(下)的更多相关文章
- Scala学习(一)--Scala基础学习
Scala基础学习 摘要: 在篇主要内容:如何把Scala当做工业级的便携计算器使用,如何用Scala处理数字以及其他算术操作.在这个过程中,我们将介绍一系列重要的Scala概念和惯用法.同时你还将学 ...
- Scala学习笔记--正则表达式基础知识、如何在scala内使用
正则表达式语法:https://msdn.microsoft.com/zh-cn/library/ae5bf541(VS.80).aspx 基础知识:正则表达式30分钟入门教程 http://www. ...
- Scala学习之路----基础入门
一.Scala解释器的使用 REPL:Read(取值)-> Evaluation(求值)-> Print(打印)-> Loop(循环) scala解释器也被称为REPL,会快速编译s ...
- [Scala]Scala学习笔记一 基础
1. 变量 val定义的值实际上是一个常亮,无法改变其内容 scala> val num = 0 num: Int = 0 scala> num = 2 <console>:1 ...
- Scala学习——Brief Scala Tutorial
因为Spark项目需要,学习Scala编程. 从官网文档入手:http://www.scala-lang.org/documentation/ 首先从他的Older Documentation入手. ...
- Scala学习(六)---Scala对象
Scala中的对象 摘要: 在本篇中,你将会学到何时使用Scala的object语法结构.在你需要某个类的单个实例时,或者想为其他值或函数找一个可以挂靠的地方时,你就会用到它.本篇的要点包括: 1. ...
- Scala学习(五)---Scala中的类
Scala中的类 摘要: 在本篇中,你将会学习如何用Scala实现类.如果你了解Java或C++中的类,你不会觉得这有多难,并且你会很享受Scala更加精简的表示法带来的便利.本篇的要点包括: 1. ...
- Scala学习随笔——Scala起步
实验楼学习Scala语言的笔记,课程网址为https://www.shiyanlou.com/courses/490 一.Scala简介 Scala 是一门多范式的编程语言,类似于 Java .设计初 ...
- Scala学习1————scala开发环境搭建(windows 10)
Scala开发环境搭建 先讲几点我学习scala的目的或者原因吧: JVM在企业中的霸主地位,Scala也是JVM上的语言,很有可能未来会从Java过度到Scala也不是不可能. 先进的函数式编程和面 ...
- Scala学习(八)---Scala继承
Scala继承 摘要: 在本篇中,你将了解到Scala的继承与Java和C++最显著的不同.要点包括: 1. extends.final关键字和Java中相同 2. 重写方法时必须用override ...
随机推荐
- Oracle EBS OM 已存在的OM订单增加物料
DECLARE l_header_rec OE_ORDER_PUB.Header_Rec_Type; l_line_tbl OE_ORDER_PUB.Line_Tbl_Type; l_action_r ...
- Oracle EBS AP 取消付款
--取消付款 created by jenrry 20170425 declare l_return_status varchar2(50); l_msg_count number; l_msg_da ...
- sqlserver sql优化案例及思路
始sql: SELECT TOP 100 PERCENT ZZ.CREW_NAME AS 机组, ZZ.CREW_ID, AA.年度时间, CC.当月时间, DD.连续七天时间 AS 最近七天 FRO ...
- 注意Sqlserver中使用with(nolock)后实际上还是会加架构锁,只是不对要查询的数据加S锁而已(转载)
开发人员喜欢在SQL脚本中使用WITH(NOLOCK), WITH(NOLOCK)其实是表提示(table_hint)中的一种.它等同于 READUNCOMMITTED . 具体的功能作用如下所示(摘 ...
- Quick and Easy Installation of Oracle Database 12c on Oracle Linux in Oracle VM VirtualBox
发贴人 Sergio-Oracle 于2018-4-18 23:10:15在Oracle Linux Introduction How Does This Work? Requirements Bef ...
- scss 使用
SCSS 常用功能 https://www.cnblogs.com/guangzan/p/10547335.html 定义变量$my-color: #666; //定义变量$my-heihgt: 10 ...
- IE9 添加事件DOMContentLoaded,方法addEventListener
IE9 新添加 事件DOMContentLoaded,方法addEventListener
- November 11th, 2017 Week 45th Saturday
Happiness is a direction, not a place. 快乐是一个方向,不是一个目的. Do you remember those moments in your life wh ...
- DevExpress08、SchedulerControl、DateNavigator、SpreadsheetControl
SchedulerControl 该控件以可视化的效果显示预约或者设定的行程: 该控件预约后的数据存储在SchedulerStorage对象里, 当以拖动形式添加SchedulerControl控件到 ...
- spark任务调度和资源分配
Spark调度模式 FIFO和FAIR Spark中的调度模式主要有两种:FIFO和FAIR. 默认情况下Spark的调度模式是FIFO(先进先出),谁先提交谁先执行,后面的任务需要等待 ...