总结:
- scala的字符串用的就是java的字符串,方法也和java中的基本一样
- scala中的array list set map都有可变课不可变的两种形式
字符串
val s="aaa";
val ss="AAA";
println(s.equals(ss))
println(s.equalsIgnoreCase(ss))
println(s.indexOf('a'))
数组(Array)
/*
* 2、Array
* */
//这里没有导包用的都是不可变数组
//new 一个数组 ()里的3是 元素个数 默认值都是0
//val arr2=new Array[Int](3)
//不new的话 ()是各个元素
val arr2=Array[Int](1,2,3)
//赋值取值都是用()不是 通常的[]
arr2(0)=100;
arr2(1)=200;
arr2(2)=100;
//arr2.foreach(println)
/*
* 二维数组
* */
val arr3=new Array[Array[Int]](3)
arr3(0)=Array[Int](1,2,3)
arr3(1)=Array[Int](4,5,6)
arr3(2)=Array[Int](7,8,9)
// for(arr<-arr3;item<-arr){
// println(item)
// }
arr3.foreach(a=>{a.foreach(println)})
/*
* 一些方法
* */
val arr4 = Array[Int](1, 2, 5)
val arr5 = Array[Int](7,8,9)
//合并数组
val arr6 = Array.concat(arr4, arr5)
arr6.foreach(println)
val arr7 = Array.fill(5)("hello")
arr6.foreach(println)
//可变数组 在scala.collection.mutable.ArrayBuffer
val arr8 = ArrayBuffer[Int](1, 2, 3)
//尾插
arr8.+=(4)
//头插
arr8.+=:(100)
//尾部追加
arr8.append(200)
arr8.foreach(println)
list
def main(args: Array[String]): Unit = {
val l=List[String]("hello java","hello js","hello spark","a 1")
//list中的每个元素对应结果集合中的一个元素
val res1=l.map(s=>{
s.split(" ")(1)
})
res1.foreach(println)
//ist中的元素对应结果集合中的多个元素
val res2=l.flatMap(s=>{
s.split(" ")(1)
})
res2.foreach(println)
//filter 匿名函数中返回true的留下
val f = l.filter(s => s.equals("hello java"))
f.foreach(println)
//count 集合中满足条件的元素的个数
println(l.count(s=>s.length<4))
val value = ListBuffer[Int](1, 2, 3)
value.append(100)
value.+=(10)
value.+=:(1000)
value.foreach(println)
}