列表是包含不可变数据的集合。List表示Scala中的链表。一个列表是不可变的,如果我们需要创建一个不断变化的列表,首选的方法是使用ListBuffer。
Scala List类保存一个有序的、线性的项列表。只有从后面到前面才能有效地建立一个列表。当我们想要从头到尾构建一个列表时,ListBuffer对象是很方便的。它支持有效的前置和附加操作。
创建完列表后,调用toList方法。要将ListBuffer转换为列表,所花费的时间将是常量。要使用ListBuffer,请使用scala.collection.mutable。导入ListBuffer类,创建ListBuffer的实例。
范例:
var name = new ListBuffer[datatype]()// empty buffer is createdvar name = new ListBuffer("class", "gfg", "lsbin")
【Scala如何使用ListBuffer(详细代码解释)】在上面的示例中, 首先, 在此处创建一个空缓冲区。datatype指示数据类型, 例如整数, 字符串。然后创建一个具有三个元素(类型为string)的缓冲区。
可以在ListBuffer上执行以下操作–
- 通过使用L + = e我们可以在固定时间内追加元素e。
- 通过使用e + =:L我们可以在恒定时间内添加元素e。
- 列表在恒定时间内, 它返回一个包含ListBuffer内容的列表。一旦将ListBuffer更改为列表, 就不应使用ListBuffer。
// Scala program to create a ListBuffer
// ListBuffer class is imported
import scala.collection.mutable.ListBuffer// Creating object
object GfG
{ // Main Method
def main(args : Array[String])
{
// Instance of ListBuffer is created
var name = ListBuffer[String]()
name + = "lsbin"
name + = "gfg"
name + = "Class"
println(name)
}
}
输出如下:
ListBuffer(lsbin, gfg, Class)
来自ListBuffer的访问元素:
元素的访问与列表相同, ListBuffer(i)用于访问一世th列表的索引元素。
// Scala program to access element of ListBuffer
// ListBuffer class is imported
import scala.collection.mutable.ListBuffer // Creating Object
object GFG
{ // Main Method
def main(args : Array[String])
{
// Instance of ListBuffer is created
var name = ListBuffer[String]()
name + = "lsbin"
name + = "gfg"
name + = "Class"// Accessing 1th index element of listBuffer
println(name( 1 ))
}
}
输出如下:
gfg
在ListBuffer中添加元素:
将单个元素添加到缓冲区ListBuffer + =(element)添加两个或多个元素(方法具有varargs参数)ListBuffer + =(元素1, element2, ..., elementN)追加一个或多个元素(使用varargs参数)ListBuffer.append (elem1, elem2, ... elemN)
// Scala program to add element in ListBuffer
// ListBuffer class is imported
import scala.collection.mutable.ListBuffer // Creating Object
object GFG
{ // Main Method
def main(args : Array[String])
{
// Instance of ListBuffer is created
var name = ListBuffer[String]() // Adding one element
name + = "lsbin"// Add two or more elements
name + = ( "gfg" , "class" ) // Adding one or more element using append method
name.append( "Scala" , "Article" ) // Printing ListBuffer
println(name)
}
}
输出如下:
ListBuffer(lsbin, gfg, class, Scala, Article)
删除ListBuffer元素:
删除一个元素ListBuffer-=(元素)删除多个元素ListBuffer-=(elem1, elem2, ....., elemN)
// Scala program to delete element from ListBuffer
// ListBuffer class is imported
import scala.collection.mutable.ListBuffer // Creating Object
object GFG
{ // Main Method
def main(args : Array[String])
{
// Instance of ListBuffer is created
var name = ListBuffer( "lsbin" , "gfg" , "class" , "Scala" , "Article" ) // Deletes one element
name - = "lsbin"// Deletes two or more elements
name - = ( "gfg" , "class" ) // Printing resultant ListBuffer
println(name)
}
}
输出如下:
ListBuffer(Scala, Article)
使用以下方法删除ListBuffer元素
ListBuffer.remove()
:
的去掉()方法用于删除一个元素在元素中的位置ListBuffer, 或从起始位置开始的一系列元素。
// Scala program for remove method, on ListBuffer
// ListBuffer class is imported
import scala.collection.mutable.ListBuffer // Creating Object
object GFG
{ // Main Method
def main(args : Array[String])
{
// Instance of ListBuffer is created
var name = ListBuffer( "lsbin" , "gfg" , "class" , "Scala" , "Article" ) // Removing 0th index element
name.remove( 0 ) // Printing resultant ListBuffer
println(name)
name.remove( 1 , 3 ) // Printing resultant ListBuffer
println(name)
}
}
输出如下:
ListBuffer(gfg, class, Scala, Article)
ListBuffer(gfg)
推荐阅读
- PHP如何使用date_modify()函数(代码示例)
- HTML如何使用id属性((唯一标识符))
- 算法设计(二叉搜索树如何实现删除操作())
- Scala如何使用正则表达式(代码实例)
- PHP如何使用array_diff_key()函数(代码示例)
- SASS如何使用布尔值和布尔运算符(详细示例)
- 如何实现用Python打开文件(详细代码)
- PHP 如何使用Ds Sequence get()函数(代码实例)
- win8系统下连接小米手机意外拔出的处理技巧