Agregar elementos a la lista en Scala

Suraj P 30 enero 2023
  1. Declaración e inicialización de la lista en Scala
  2. Agregar elementos al final de la lista en Scala
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)
Autor: 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

Artículo relacionado - Scala List