scala(二)

本文深入介绍了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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值