在 Scala 中向列表追加元素

Suraj P 2023年1月30日 2022年5月18日
  1. 在 Scala 中宣告和初始化列表
  2. 在 Scala 中的列表末尾附加元素
在 Scala 中向列表追加元素

在本文中,我們將學習如何使用 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
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub

相關文章 - Scala List