ListBuffer 的使用 | 学习笔记

简介: 快速学习 ListBuffer 的使用

开发者学堂课程【Scala 核心编程 - 进阶ListBuffer 的使用学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/610/detail/9034


ListBuffer的使用


内容介绍:

一、基本内容

二、应用实例


一、基本内容

ListBuffer 是可变的 list集合可以添加,删除元素ListBuffer 属于序列,在上节中,list4不能改变,当想改变 list4 时比较麻烦,所以可以用到 ListBuffer

继承关系为:

image.png

由上图可知继承线为: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))//输出 lst0(2) =3

for ( item <- lst0)    

{        

//遍历,是有序的

println( "item=" + item)

}

va1 lst1 = new ListBuffer[ Int]   //创建一个空的ListBuffer

//动态的增加元素,list1会有变化,增加一个一个的元素,以下有两//种增加方式

lst1 +=4    

//此时为lst1(4)

lst1.append(5)  

//此时为 lst1(4,5)

//append 可以一次性添加多个元素

//++=是把一个集合加到另一个集合中

lst0++= lst1  //此时list1 无变化,lst01,2,3,4,5

println(“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    //lst0不变,lst3(1,2,3,4,5,5)

println("=====删除=======")

println( "1st1=” +lst1)

lst1.remove(1)     //表示将下表为1的元素删除

for (item <- lst1)

{

println( "item=" +item)}//所以这里只遍历出一个元素4

}

程序运行结果如下:

Lst2=ListBuffer(1,2,3,4,5,4,5)

=====删除========

Lst1=ListBuffer(4,5)

Item=4

一般来说,增加单个元素和删除元素使用的比较多。增加单个元素有两种方法,可以自己选择,传统用法是 append,操作符重载的方法为 +=

如果要写一个学生管理系统,实现学生信息的增加,删除,查询和修改,可以使用 List 

比如,要加一个学生信息,可以构建一个对象,可以借鉴lst1 +=4,将4换为要添加学生的信息。

要删除一个学生的信息可以借鉴 lst1.remove(1) 将1改为学生的学号。  

相关文章
|
2月前
|
安全 C语言 C++
C++学习笔记
C++学习笔记
|
消息中间件 Dubbo 算法
总结|学习笔记
快速学习总结
总结|学习笔记
|
自然语言处理 前端开发 Java
TermQuery|学习笔记
快速学习 TermQuery。
128 0
TermQuery|学习笔记
|
人工智能 开发者
特征空间与应用 | 学习笔记
快速学习特征空间与应用
特征空间与应用 | 学习笔记
|
安全 Java 程序员
Potainer 使用|学习笔记
快速学习 Potainer 使用
Potainer 使用|学习笔记
|
负载均衡 开发者 索引
replicas | 学习笔记
快速学习 replicas
replicas | 学习笔记
|
机器学习/深度学习 算法 开发者
总结与回顾| 学习笔记
快速学习总结与回顾。
|
开发者 索引
MatchAllQuery|学习笔记
快速学习 MatchAllQuery。
122 0
|
人工智能 算法 开发者
SDV 要解决的问题 | 学习笔记
快速学习 SDV 要解决的问题
|
开发者
SearchType 详解 | 学习笔记
快速学习 SearchType 详解