Scala のリストに要素を追加する
Suraj P
2023年1月30日
この記事では、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