美文网首页
scala集合-List

scala集合-List

作者: invincine | 来源:发表于2018-10-15 12:30 被阅读0次

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)

相关文章

网友评论

      本文标题:scala集合-List

      本文链接:https://www.haomeiwen.com/subject/mnxfzftx.html