Introduction
In Scala, Seq(Sequence) is a one kind of Iterable. The major difference between Iterable and Seq is that sequences always have a defined order of elements.
It has the following 3 flavours in Scala API:
Just like Strings uses '+' operator for String concatenation, Seq uses '++' function( But Not an operator) to concatenate two Sequences.
Seq uses '+' function( But Not an operator) to add a new element at the end of the existing Sequence.
NOTE:- If we don't specify the type of Seq, Scala Compiler creates Immutable Seq automatically.
Let us explore Scala Seq with some examples.
It has the following 3 flavours in Scala API:
- scala.collection.Seq
- scala.collection.mutable.Seq
- scala.collection.immutable.Seq
Based on context, we can use either Mutable or Immutable Seq.
Just like Strings uses '+' operator for String concatenation, Seq uses '++' function( But Not an operator) to concatenate two Sequences.
Seq uses '+' function( But Not an operator) to add a new element at the end of the existing Sequence.
NOTE:- If we don't specify the type of Seq, Scala Compiler creates Immutable Seq automatically.
Let us explore Scala Seq with some examples.
Examples:
To create empty Seq
scala> val seq1 = Seq()
seq1: Seq[Nothing] = List()
scala> val seq1 = Seq()
seq1: Seq[Nothing] = List()
To Concatenate Two Sequences using "++"
scala> val seq2 = Seq(1,2,3)
seq2: Seq[Int] = List(1, 2, 3)
scala> val seq3 = Seq(4,5)
seq3: Seq[Int] = List(4, 5)
scala> val seq4 = seq2 ++ seq3
seq4: Seq[Int] = List(1, 2, 3, 4, 5)
To access Sequence elements using index
scala> seq4
res1: Seq[Int] = List(1, 2, 3, 4, 5)
scala> seq4(0)
res2: Int = 1
scala> seq4(1)
res3: Int = 2
NOTE:- Seq index starts with zero.
To reverse the Seq elements
scala> seq4.reverse
res7: Seq[Int] = List(5, 4, 3, 2, 1)
To use Seq's slice function
scala> seq4.slice(0,2)
res8: Seq[Int] = List(1, 2)
scala> seq4.slice(1,2)
res9: Seq[Int] = List(2)
scala> seq4.slice(1,3)
res10: Seq[Int] = List(2, 3)
NOTE:- slice function returns all elements from first element index until second element index
from <= indexOf(first-parameter) < second-parameter
Some useful Seq functions
scala> seq4.mkString
res4: String = 12345
scala> seq4.foreach(print)
12345
scala> seq4.foreach(println)
1
2
3
4
5
Thank you for reading my posts.
Please drop me your valuable suggestions or comments.
No comments:
Post a Comment