在 Scala 中向列表追加元素
Suraj P
2023年1月30日
2022年5月18日
在本文中,我们将学习如何使用 Scala 的列表,并了解将元素附加到列表的不同方法。
Scala 中的列表是用于存储顺序和相似类型数据的集合。它们用于表示 Scala 中的链表。
就像 Java 中的字符串一样,列表在 Scala 中是不可变的。不可变意味着一旦使用某些元素声明列表,就不能修改或更改它。
在 Scala 中声明和初始化列表
语法:
val listName: List[list type] = List()
示例代码:
object Main {
def main(args:Array[String])
{
//Immutable Integer type list
val mylist1: List[Int] = List(1,2,3)
//Immutable String type list
val mylist2: List[String] = List("IronMan","Hulk","BatMan")
println("Integer List :")
println(mylist1)
println("String List :")
println(mylist2)
}
}
输出:
Integer List :
List(1, 2, 3)
String List :
List(IronMan, Hulk, BatMan)
在 Scala 中的列表末尾附加元素
由于 Scala 列表是不可变的,我们从现有列表中创建一个新列表,其中添加了新元素。
方法一
在 Scala 中,使用 :+
方法将元素附加到列表的末尾。
语法:
list_name:+new_element
示例代码:
object Main {
def main(args:Array[String])
{
//Immutable String type list
val mylist1: List[String] = List("Tony","Stark","is")
println("Present List :")
println(mylist1)
// new list created using the existing list plus the new element
val newlist = mylist1 :+ "Iron Man"
println("New List :")
println(newlist)
}
}
输出:
Present List :
List(Tony, Stark, is)
New List :
List(Tony, Stark, is, Iron Man)
可以使用相同的方法进行前置,即将值附加到列表的开头。
示例代码:
object Main {
def main(args:Array[String])
{
//Immutable String type list
val mylist1: List[String] = List("Tony","Stark")
println("Present List :")
println(mylist1)
val newlist: List[String] = "Hero" +: mylist1
println("New List :")
println(newlist)
}
}
输出:
Present List :
List(Tony, Stark)
New List :
List(Hero, Tony, Stark)
方法二:
在 Scala 中使用 :::
连接两个列表。当尝试将多个值附加到列表时,此方法很有用。
语法:
list1 ::: list2
示例代码:
object Main {
def main(args:Array[String])
{
val mylist1: List[Int] = List(1,2,3,4)
println("List 1:")
println(mylist1)
val mylist2: List[Int] = List(11,22,33,55)
println("List 2:")
println(mylist2)
//appending list2 to list1
val mylist3: List[Int] = mylist1:::mylist2
println("Appended list:")
println(mylist3)
}
}
输出:
List 1:
List(1, 2, 3, 4)
List 2:
List(11, 22, 33, 55)
Appended list:
List(1, 2, 3, 4, 11, 22, 33, 55)
方法三:
这里的想法是使用可变数据结构,例如 ListBuffer
。这里我们有 +=
和 append
方法来将元素附加到列表中。
示例代码:
import scala.collection.mutable.ListBuffer
object Main {
def main(args:Array[String])
{
var myList1 = new ListBuffer[String]()
//appending values to the list
myList1+="Welcome"
myList1+="To"
myList1+=("Scala","Programming") //multiple values
myList1.append("it","is","very","easy")
println("Modified list:")
println(myList1)
}
}
输出:
Modified list:
ListBuffer(Welcome, To, Scala, Programming, it, is, very, easy)
Author: Suraj P