数据类型(数组)
<代码>定长数组
scala>val arr1=new Array(字符串)(8)
arr1:数组[String]=数组(空,空,空,空,空,空,空,空)
scala>arr1
res5:数组[String]=数组(空,空,空,空,空,空,空,空)
scala>println (arr1)
[Ljava.lang.String; @1254a3cd
scala>println (arr1.toBuffer)
ArrayBuffer(空,空,空,空,空,空,空,空)
scala>val arr2=阵列(“java”、“scala”、“python”)
arr2:数组[String]=数组(java, scala, python)
scala>println (arr2 (0))
java
边长数组
scala>val arr3=ArrayBuffer (Int) ()
scala>arr3 +=1
scala>arr3 + +=阵列(5、6)
scala>arr3 + +=ArrayBuffer (7、8)
#在0的位置加入1
scala>arr3。插入(0,1)
#在第2的位置,加入2
scala>arr3.remove (2, 2)
scala>val arr=阵列(1,2,3,4,5,6,7,8,9)
加勒比海盗:数组(Int)=阵列(1,2,3,4,5,6,7,8,9)
scala>(我& lt; - arr) println(我)
#遍历数组
(我& lt; - 0直到arr.length) println(我)
(我& lt; -(0直到arr.length) .reverse) println(我)
#把原来数组的值重新计算,生成一个新的数组
scala>val res=(我& lt; - arr)的收益率我* 10
res:数组(Int)=阵列(10年,20年,30、40、50、60、70、80、90)
#数组所有的和
scala>arr.sum
res22: Int=45
#数组中最大的值
scala>arr.max
res23: Int=9
数组排序
scala>arr.sorted
#数组相加
scala>val arr4=arr2 + + arr3
arr4:数组(Int)=阵列(255年24日,25日,2、21、253)代码>
数据类型(元组)
<代码> scala>val t=(3.14“scala”, 1日,(“火花”,1))
t: (String、Int、双(String、Int))=(scala, 1、3.14(火花,1))
#取元组里面第一个值,(元组下标从1开始的)
scala>t._1
scala res29:字符串=#数组转成地图
scala>val arr=阵列((“t”, 2), (“n”, 3), (4)“x”)
加勒比海盗:数组[(String、Int)]=数组((t, 2), (n, 3), (4) x,)
scala>arr.toMap
res30: scala.collection.immutable。地图(字符串,Int)=(t→2,n→3,x→4)
#拉链操作,把2个数组转成元组
scala>val arr1=阵列(“婷婷”、“c”、“d”)
arr1:数组[String]=数组(婷婷,c, d)
scala>25255年瓦尔arr2=阵列(24日)
arr2:数组(Int)=阵列(255)24日,25日
scala>arr1 zip arr2
res31:数组[(String、Int)]=数组((婷婷,24),(c, 25), (d, 255))
进口scala.collection.immutable.HashSet
val set2=new HashSet (Int)中的()
val关于我校=set2 + 1中的
2个组合成一个新的集合
val set3=关于我校+ +组(2、3、4)
#操作,增加/删除元素
set2 +=1中的
set2 -=4中的
代码>
数据类型(Map)
<代码>
scala>val map2=地图((“scala”, 1), (“java”, 2), (“python”, 3))
map2: scala.collection.immutable。scala Map [String、Int)=地图(→1、java→2,python→3)
scala>val map1=地图(“scala”→1,“java”→2,“python”→3)
map1: scala.collection.immutable。scala Map [String、Int)=地图(→1、java→2,python→3)
scala>scala map1 (“”)
res25: Int=1
#可变地图
scala>进口scala.collection.mutable._
进口scala.collection.mutable._
scala>val map1=地图(“scala”→1,“java”→2,“python”→3)
map1: scala.collection.mutable。地图(字符串,Int)=HashMap (python→3、java→2,scala→1)
scala>map1 (scala)=6
scala>map1。getOrElse (c#, 1)
res28: Int=1
进口scala.collection.mutable._
val map1=new HashMap(字符串、整数)()
往里面增加数据:
map1 (scala)=1
map1 +=((“java”, 2))
map1 +=((“python”, 3), (4)“c#”)
map1.put (“c++”, 6)
减少数据:
map1 -=癹ava”
map1.remove (scala) 代码>
数据类型(列表)
<代码>//生成一个列表
val list0=列表(2、6、7、4、5、7、8日3 0,1)//将list0中每个元素乘2后以生成一个新的集合
val list1=list0。地图(_ * 2)//将list0中的偶数取出来生成一个新的集合
val用于=list0。过滤器(_ % 2==0)//将list0排序后生成一个新的集合
val list3=list0.sorted//反转排序顺序
val list4=list3.reverse//将list0中的元素4个一组,类型为迭代器(列表(Int))
val它=list0.grouped (4)//将迭代器转换成列表
val list5=it.toList//将多个列表压扁成一个列表
val list6=list5.flatten//先按空格切分,再压平
val行=列表(java你好scala”“你好,scala“你好”)//方法一:
瓦尔的话=lines.map (_。分割(" "))
val flatWords=words.flatten//方法二:
val res=lines.flatMap (_。分割(" "))//并行计算求和
val arr=阵列(1,2,3,4,5,6,7,8,9)
val res1=arr.sum//并发//val它=arr.par.sum
.sum val它=(arr)//按照特定的顺序进行聚合
val res3=arr.reduce (_ + _)//聚合多维数组
val list7=列表(列表(1、2、3)//求交集
val res4=list1用于相交//求差集
val res5=list1相交(用于)