SCALA Collection..
-------- ARRAY-----------
collection of homogenious data. 0 based index serching is efficirnt adding data at is not efficient bcoz it has fixed size defined initially
scala> val a = Array(1, 2, 23, 23)
a: Array[Int] = Array(1, 2, 23, 23)
scala> println(a)
[I@1380a19b
scala> for (i <- a) println(i)
1
2
23
23
scala> println(a.mkString(","))
1,2,23,23
---LIST---
collection of homogenious data. 0 based index serching is not efficirnt adding data at the start is efficient
scala> val b = List(12, 13, 23, 24)
b: List[Int] = List(12, 13, 23, 24)
scala> println(b)
List(12, 13, 23, 24)
scala> println(b(0))
12
scala> println(b(-1))
java.lang.IndexOutOfBoundsException: -1
at scala.collection.LinearSeqOptimized$class.apply(LinearSeqOptimized.scala:65)
at scala.collection.immutable.List.apply(List.scala:84)
... 49 elided
scala> b.sum
res15: Int = 72
scala> 21::b
res16: List[Int] = List(21, 12, 13, 23, 24)
scala> 22::b
res17: List[Int] = List(22, 12, 13, 23, 24)
scala> println(b)
List(12, 13, 23, 24)
scala> val c = 24::b
c: List[Int] = List(24, 12, 13, 23, 24)
---TUPLE-----
collection of heterogenious data.
if colleted data has in pairs then act like key value
it is '1' index based
scala> val x = (1, we, true)
<console>:23: error: not found: value we
val x = (1, we, true)
^
scala> val x = (1, "we", true)
x: (Int, String, Boolean) = (1,we,true)
scala> x._1
res0: Int = 1
scala> x._-1
<console>:1: error: identifier expected but '_' found.
x._-1
^
scala> val y = (112, "sumit")
y: (Int, String) = (112,sumit)
scala> val z = 112 -> "sumit"
z: (Int, String) = (112,sumit)
scala> val w = "sumit" -> 112
w: (String, Int) = (sumit,112)
----RANGE---
specify range of value
scala> val rng = 1 until 10
rng: scala.collection.immutable.Range = Range(1, 2, 3, 4, 5, 6, 7, 8, 9)
scala> val xyz = 1 to 10
xyz: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
-----Set----
> contails homogeniuos data without duplication..
scala> val xy = Set(1,2,11,1,1,11,2,23)
xy: scala.collection.immutable.Set[Int] = Set(1, 2, 11, 23)
scala> xy.min
res2: Int = 1
scala> xy.sum
res3: Int = 37
scala> val xz = Set("as", "as", "aa")
xz: scala.collection.immutable.Set[String] = Set(as, aa)
scala> xz.min
res4: String = aa
scala> xy.max
res5: Int = 23
scala> val sd = (12 -> "mang", 23 -> "hav")
sd: ((Int, String), (Int, String)) = ((12,mang),(23,hav))
-----Map-----
no. of input is equal to no. of output
contains key , value pair with unique key......
scala> val sk = Map(12 -> "mang", 23 -> "hav")
sk: scala.collection.immutable.Map[Int,String] = Map(12 -> mang, 23 -> hav)
scala> sk.get(23)
res6: Option[String] = Some(hav)
scala> sd.get(12)
<console>:26: error: value get is not a member of ((Int, String), (Int, String))
sd.get(12)
Thanks for visit.