【大数据基础知识】Scala中的列表

发布 : 大数据培训      来源:大数据干货资料

2023-08-17 15:38:00

Scala中的列表分为不可变List和可变ListBuffer两种。默认使用的是不可变的List,要使用可变的ListBuffer,必须先导入才能使用。

1、 不可变的List

List的创建:

scala> val list=List[Int](1,2,3,4,5,6)

list: List[Int] = List(1, 2, 3, 4, 5, 6)

scala> val ll=List(1,1,1)

ll: List[Int] = List(1, 1, 1)

scala> val list2=6::5::4::3::8::9::Nil

list2: List[Int] = List(6, 5, 4, 3, 8, 9)

说明:

(1) 从上面示例中可以看到,创建List可以指明数据类型,也可以不指明,Scala会自动推断。

(2) Nil表示空列表,::是方法,表示在列表的头部添加数据,生成一个新的列表。

2、 可变列表ListBuffer

使用ListBuffer之前,必须先导入,否则会报错:

scala> val lst1=ListBuffer(1,2,3,4,5,6)

:11: error: not found: value ListBuffer

val lst1=ListBuffer(1,2,3,4,5,6)

创建可变列表:

scala> import scala.collection.mutable.ListBuffer

import scala.collection.mutable.ListBuffer

scala> val lst1=ListBuffer(1,2,3,4,5,6)

lst1: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 2, 3, 4, 5, 6)

scala> val lst2=new ListBuffer[Int]

lst2: scala.collection.mutable.ListBuffer[Int] = ListBuffer()

说明:上例中的lst2创建的是一个空的可变列表

可变列表ListBuffer上的常用操作:

+= :添加一个或多个元素

++= :添加集合元素

-= :删除一个或多个元素

--=:删除集合元素

(index,val*) :插入元素,第一个参数为索引号,第二个参数为要插入的一个或多个值。

remove(index,count):删除元素,第一个参数为索引号,第二个参数为要删除的元素个数。

isEmpty:判断列表是否为空

clear:清空列表

scala> import scala.collection.mutable.ListBuffer

import scala.collection.mutable.ListBuffer

scala> val lst1=ListBuffer(1,2,3)

lst1: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 2, 3)

scala> lst1+=5

res0: lst1.type = ListBuffer(1, 2, 3, 5)

scala> lst1+=(10,100)

res1: lst1.type = ListBuffer(1, 2, 3, 5, 10, 100)

scala> lst1++=List(6,60,600)

res2: lst1.type = ListBuffer(1, 2, 3, 5, 10, 100, 6, 60, 600)

scala> lst1-=5

res4: lst1.type = ListBuffer(1, 2, 3, 10, 100, 6, 60, 600)

scala> lst1-=(10,600)

res6: lst1.type = ListBuffer(1, 2, 3, 100, 6, 60)

scala> lst1--=List(1,3)

res7: lst1.type = ListBuffer(2, 100, 6, 60)

scala> lst1.(1,5,5)

scala> lst1

res9: scala.collection.mutable.ListBuffer[Int] = ListBuffer(2, 5, 5, 100, 6, 60)

scala> lst1.(1,5,5)

scala> lst1

res9: scala.collection.mutable.ListBuffer[Int] = ListBuffer(2, 5, 5, 100, 6, 60)

scala> lst1

res12: scala.collection.mutable.ListBuffer[Int] = ListBuffer(2, 5, 100, 6, 60)

scala> lst1.isEmpty

res13: Boolean = false

scala> lst1.clear

scala> lst1

res15: scala.collection.mutable.ListBuffer[Int] = ListBuffer()

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

领取零基础自学IT资源

涉及方向有Java、Web前端、UI设计、软件测试、python等科目,内容包含学习路线、视频、源码等

点击申请领取资料

点击查看资料详情 

收起 


 相关推荐

问题解答专区
返回顶部