Agregar elementos a la lista en Scala
En este artículo, aprenderemos cómo trabajar con la lista de Scala y veremos diferentes formas de agregar elementos a la lista.
Una lista en Scala es una colección utilizada para almacenar tipos de datos secuenciales y similares. Se utilizan para representar listas enlazadas en Scala.
Al igual que Strings en Java, las listas son inmutables en Scala. Inmutable significa que una vez que se declara una lista con algunos elementos, no se puede modificar ni alterar.
Declaración e inicialización de la lista en Scala
Sintaxis:
val listName: List[list type] = List()
Código de ejemplo:
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)
}
}
Producción :
Integer List :
List(1, 2, 3)
String List :
List(IronMan, Hulk, BatMan)
Agregar elementos al final de la lista en Scala
Dado que las listas de Scala son inmutables, creamos una nueva lista a partir de la lista existente con nuevos elementos agregados.
Método 1
Usando el método :+
para agregar un elemento al final de la lista en Scala.
Sintaxis:
list_name:+new_element
Código de ejemplo:
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)
}
}
Producción :
Present List :
List(Tony, Stark, is)
New List :
List(Tony, Stark, is, Iron Man)
Se podría usar el mismo método para anteponer, es decir, agregar los valores al principio de la lista.
Código de ejemplo:
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)
}
}
Producción :
Present List :
List(Tony, Stark)
New List :
List(Hero, Tony, Stark)
Método 2:
Usando :::
en Scala para concatenar dos listas. Este método es útil cuando se intenta agregar varios valores a una lista.
Sintaxis:
list1 ::: list2
Código de ejemplo:
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)
}
}
Producción :
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)
Método 3:
La idea aquí es utilizar estructuras de datos mutables como ListBuffer
. Aquí tenemos los métodos +=
y append
para añadir elementos a la lista.
Código de ejemplo:
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)
}
}
Producción :
Modified list:
ListBuffer(Welcome, To, Scala, Programming, it, is, very, easy)