开发者学堂课程【Scala 核心编程 - 进阶:ListBuffer 的使用】学习笔记,与课程紧密连接,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/610/detail/9034
ListBuffer的使用
内容介绍:
一、基本内容
二、应用实例
一、基本内容
ListBuffer 是可变的 list集合,可以添加,删除元素,ListBuffer 属于序列,在上节中,list4不能改变,当想改变 list4 时比较麻烦,所以可以用到 ListBuffer。
继承关系为:
由上图可知继承线为:Iterable->Seq->Buffer->ListBuffer
二、应用实例
import scala.collection.mutable.ListBuffer
object ListBufferDemo01 {
def main(args: Array [string]) :unit = {
//创建 ListBuffer
val lst0 = Listeuffer[Int](1,2,3)
//泛型已经指定了 int ,所以不能加其他类型的元素
//如何访问
println( "lst0(2))=”+ lst0(2))//
输出
lst
0(2) =3
for ( item <- lst0)
{
//
遍历,是有序的
println( "item=" + item)
}
va1 lst1 = new ListBuffer[ Int] //
创建一个空的
ListBuffer
//动态的增加元素,list1会有变化,增加一个一个的元素,以下有两//种增加方式
lst1 +=4
//
此时为lst
1
(4)
lst1.append(5)
//
此时为 lst
1(4
,5
)
//append 可以一次性添加多个元素
//++=是把一个集合加到另一个集合中
lst0
+
+= lst1 //
此时list
1
无变化,lst
0
(
1,2,3
,
4,5
)
p
rintln(“lst0=”+lst0)
}
}//注意:以上可以对
运行上面的代码,结果如下:
lst0
(2)=3
Item
=1
Item
=2
Item
=3
lst0
=
ListBuffer
(1,2,3,4,5)
结果说明lst0是将每个元素一个一个放进去的
用下面的代码替换上面的 println(“lst0=”+lst0)
val lst2 = lst0 ++ lst1 //
此时为
lst2(1,2,3,4,5,4,5)
println(
“lst2=”+lst2)
val lst3 = lst0 :+5 //
lst
0
不变,lst
3
(
1,2,3,4,5,5)
println("=====删除=======")
println( "1st1=” +lst1)
lst1.remove(1) //
表示将下表为
1
的元素删除
for (item <- lst1)
{
println( "item=" +item)}//
所以这里只遍历出一个元素4
}
程序运行结果如下:
Lst
2=
ListBuffer
(1,2,3,4,5,4,5)
=====删除========
Lst
1=
ListBuffer
(4,5)
Item
=4
一般来说,增加单个元素和删除元素使用的比较多。增加单个元素有两种方法,可以自己选择,传统用法是 append,操作符重载的方法为 +=。
如果要写一个学生管理系统,实现学生信息的增加,删除,查询和修改,可以使用 List 。
比如,要加一个学生信息,可以构建一个对象,可以借鉴lst1 +=4,将4换为要添加学生的信息。
要删除一个学生的信息可以借鉴 lst1.remove(1) 将1改为学生的学号。