在 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