scala
Posted 未央夜色
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala相关的知识,希望对你有一定的参考价值。
本篇主要介绍数据结构的增删改查和特性
字符串
可变字符串:
使用shell的$符号,表示取值。
val stre = "fangbc"
println(s"100,$stre,200,$stre.555")
> 100fangbc200fangbc555
数组
不可变数组
// 定义数组的两种方式
val ar1 = new Array[数组类型](数组大小)
// val ar2 = Array[数组类型](具体内容)
val ar2 = Array[String]("a","bc","def")
for ( i<- ar )
print (i)
for (i <-ar.reverse())
print (i)
可变数组
数组都是不可变的,如果需要可变数组,需要ArrayBuffer。
AB的增删改查操作:
import scala.collection.mutable.ArrayBuffer
val ab = ArrayBuffer[String]()
// 添加元素
ab+=(element)
ab++=ArrayBuffer(element)
// 删除元素
ab.trimEnd(N) // 删除最后N个元素
// 修改元素
ab(N) = "element"
ab.insert(place,element) // 在指定位置后插入指定元素,可以是多个。
ab.remove(place,num) // 在place位置,移除后面的num个元素。
// 查找元素
println(ab(N))
// ArrayBuffer和Array的相互转换
arr.toBuffer()
AB.toArray()
遍历数组
// 枚举的集合是从0到长度的,注意这里是数组长度-1。
val ab = ArrayBuffer[Int](1 2 3 4)
for (i <- 0 to ab.length-1)
print ab(i)
foreach 和 map的区别:
foreach没有返回结果
map返回的是一个RDD。
元组和列表
scala中有TupleN的结构,可以定义N个元素的元组。暂时N是(1-22)
输出的时候需要指定元组的位置
// 标准定义:
val tp:TipleN[typea,typeb,xxxx] = (valuea,valueb,valuexxxx)
// tp._N提取第N个元素。从1开始计数。
println(tp._1)
println(tp._2)
val la = list(1,2,3,4)
集合
没有重复成员的列表
val s = Set(32,32,44,44)
映射
Map
val mp = Map(1 -> "one",2 -> "two")
println(mp(1))
println(mp.size)
mp +=(3 -> "three")
mp -= 2
mp(3) = "value3"
// 可变映射
import scala.collection.mutable.Map
以上是关于scala的主要内容,如果未能解决你的问题,请参考以下文章