Scala のリストに要素を追加する

Suraj P 2023年1月30日
  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 リストは不変であるため、既存のリストから新しい要素を追加して新しいリストを作成します。

方法 1

:+ メソッドを使用して、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)

方法 2:

Scala で:::を使用して 2つのリストを連結します。この方法は、リストに複数の値を追加しようとする場合に役立ちます。

構文:

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)

方法 3:

ここでの考え方は、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)
著者: 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