版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hguo11/article/details/81585158
总共分为List和ListBuffer,这里的操作参数很多,很难说的完整,这里就说几个常用的。
List
- 创建List
scala> val a=List(1,2,3)
a: List[Int] = List(1, 2, 3)
- 末端加元素
scala> a:+(4)
res47: List[Int] = List(1, 2, 3, 4)
或者
scala> a.:+(5)
res49: List[Int] = List(1, 2, 3, 5)
- 首端加元素
scala> a.+:(0)
res51: List[Int] = List(0, 1, 2, 3)
- 合并List
scala> val b=List(4,5,6)
b: List[Int] = List(4, 5, 6)
scala> a:::b
res54: List[Int] = List(1, 2, 3, 4, 5, 6)
或者
scala> a++:b
res55: List[Int] = List(1, 2, 3, 4, 5, 6)
- 删除元素
删除首端两个元素
scala> a.drop(2)
res63: List[Int] = List(3)
删除尾端两个元素
scala> a.dropRight(2)
res61: List[Int] = List(1)
- 排序
scala> b.sorted(Ordering.Int.reverse)
res66: List[Int] = List(6, 5, 4, 2, 1)
scala> b.sorted
res67: List[Int] = List(1, 2, 4, 5, 6)
scala> b.sorted.reverse
res68: List[Int] = List(6, 5, 4, 2, 1)
scala> b.sortBy(d=>d)
res69: List[Int] = List(1, 2, 4, 5, 6)
scala> b.sortBy(d=>d).reverse
res72: List[Int] = List(6, 5, 4, 2, 1)
scala> b.sortWith(_<_)
res73: List[Int] = List(1, 2, 4, 5, 6)
scala> b.sortWith(_>_)
res74: List[Int] = List(6, 5, 4, 2, 1)
scala>
ListBuffer
ListBuffer相比较可能较为灵活一些,主要的一些操作如下:
- 创建Listbuffer
scala> import scala.collection.mutable.ListBuffer
import scala.collection.mutable.ListBuffer
scala> val a=ListBuffer(1,2,3)
a: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 2, 3)
- 尾端添加元素
scala> a+=4
res75: a.type = ListBuffer(1, 2, 3, 4)
- 首端加元素
scala> 4+:a
res77: scala.collection.mutable.ListBuffer[Int] = ListBuffer(4, 1, 2, 3, 4, 4, 5, 6)
- 合并list
scala> a++=List(4,5,6)
res76: a.type = ListBuffer(1, 2, 3, 4, 4, 5, 6)
- 删除元素
scala> a.drop(2)
res82: scala.collection.mutable.ListBuffer[Int] = ListBuffer(3, 4, 4, 5, 6)
scala> a.dropRight(2)
res83: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 2, 3, 4, 4)
scala>
- 变成list
scala> a.toList
res85: List[Int] = List(1, 2, 3, 4, 4, 5, 6)
PS:上面的ListBuffer a 中用到的++=中有=的话,就是对a里面的元素进行增加或减少元素,因为有了=。而List a中的一些操作如.+: 是会显示添加或减小元素的结果,但对原List a里面的元素是没影响的。
其实说到底好像没有啥区别,他们基本的操作都是一样的。只是Buffer的操作可能更高校一些,可以便捷的删除以及插入。