在 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