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的主要内容,如果未能解决你的问题,请参考以下文章

Scala语言概述

[原创]Scala学习:编写Scala脚本

Scala - 01 - Scala简介

Scala系列Scala学习笔记

Scala 模式匹配详解

2021年大数据常用语言Scala:Scala解释器