1.List(定长集合)
a.声明
scala> val list1 = List(1,2,3,4,5)
list1: List[Int] = List(1, 2, 3, 4, 5)
scala> val list2 = 1::2::3::4::Nil
list2: List[Int] = List(1, 2, 3, 4)
将多个集合合并成一个集合
scala> val list3 = List(1,2,3):::List(3,2,1):::List(100)
list3: List[Int] = List(1, 2, 3, 3, 2, 1, 100)
b.查找与修改
查找访问元素对应的下角标:
scala> print(list1(2))
3
定长List不支持更新操作
c.一些常用的API
scala> list1
res6: List[Int] = List(1, 2, 3, 4, 5)
取第一个元素
scala> list1.head
res7: Int = 1
返回除第一个元素之外的List
scala> list1.tail
res8: List[Int] = List(2, 3, 4, 5)
可以组合使用
scala> list1.tail.head
res9: Int = 2
取做坐两个元素
scala> list1.take(2)
res10: List[Int] = List(1, 2)
取右三个
scala> list1.takeRight(3)
res11: List[Int] = List(3, 4, 5)
格式化输出成String
scala> list1.mkString("{",",","}")
res12: String = {1,2,3,4,5}
排序
scala> list3
res15: List[Int] = List(1, 2, 3, 3, 2, 1, 100)
scala> list3.sorted
res16: List[Int] = List(1, 1, 2, 2, 3, 3, 100)
2.ListBuffer(可变长集合)
a.导包
import scala.collection.mutable.ListBuffer
b.声明
scala> val lb = ListBuffer(1,4,3,2)
lb: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 4, 3, 2)
c.更新操作及常用API
增加元素操作:
scala> lb += 10
res17: lb.type = ListBuffer(1, 4, 3, 2, 10)
scala> lb ++= List(40,30,20)
res18: lb.type = ListBuffer(1, 4, 3, 2, 10, 40, 30, 20)
scala> lb ++= Array('b','c')
res19: lb.type = ListBuffer(1, 4, 3, 2, 10, 40, 30, 20, 98, 99)
按照角标插入几个元素:
scala> lb.insert(0, 1 ,2)
scala> lb
res21: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 2, 1, 4, 3, 2, 10, 40, 30, 20, 98, 99)
删除操作:
scala> lb -= 40
res23: lb.type = ListBuffer(1, 2, 1, 4, 3, 2, 10, 30, 20, 98, 99)
scala> lb --= Array(1,2,1)
res24: lb.type = ListBuffer(4, 3, 2, 10, 30, 20, 98, 99)
根据角标删除几个元素:
scala> lb. remove(5, 2)
scala> lb
res26: scala.collection.mutable.ListBuffer[Int] = ListBuffer(4, 3, 2, 10, 30, 99)
与Array的转化
scala> lb.toArray
res27: Array[Int] = Array(4, 3, 2, 10, 30, 99)
head和tail:
scala> lb.head
res28: Int = 4
scala> lb.tail
res29: scala.collection.mutable.ListBuffer[Int] = ListBuffer(3, 2, 10, 30, 99)
更新元素:
scala> lb
res32: scala.collection.mutable.ListBuffer[Int] = ListBuffer(4, 3, 2, 10, 30, 99)
scala> lb(0) = 44
scala> lb
res34: scala.collection.mutable.ListBuffer[Int] = ListBuffer(44, 3, 2, 10, 30, 99)
网友评论