fork download
  1. object Main extends App {
  2. def printArray[K](array:Array[K]) = array.mkString("Array(" , ", " , ")")
  3.  
  4. //Mutable array of type Array[Int]
  5. val array1 = Array(1, 2, 3) //>array1 = [I@6ae01647
  6. printArray(array1)//>Array(1, 2, 3)
  7. //Mutable array of type Array[Any]
  8. val array2 = Array("a", 2, true) //>array2 = [Ljava.lang.Object;@1dd6c622
  9. printArray(array2)//>Array(a, 2, true)
  10. //Mutable array of type Array[String]
  11. val array3 = Array("a", "b", "c") //>array3 = [Ljava.lang.String;@7f69f17b
  12. printArray(array3) //>Array(a, b, c)
  13. //Access items using (index) not [index]
  14. val itemAtIndex0 = array3(0) //>itemAtIndex0 = a
  15.  
  16. //Modify items the same way
  17. array3(0) = "d"
  18. printArray(array3) //>Array(d, b, c)
  19.  
  20. //Concatenation using the ++ operator,
  21. //Prepending items using +: and appending using :+
  22. val concatenated = "prepend" +: (array1 ++ array2) :+ "append" //>concatenated = [Ljava.lang.Object;@46d0397
  23. printArray(concatenated) //>Array(prepend, 1, 2, 3, a, 2, true, append)
  24.  
  25. //Finding an index of an item
  26. array3.indexOf("b") //>1
  27.  
  28. //Diff
  29. val diffArray = Array(1,2,3,4).diff(Array(2,3)) //>diffArray = [I@1106b0c6
  30. printArray(diffArray) //>Array(1, 4)
  31.  
  32. //Find (stops when item is found)
  33. val personArray = Array(("Alice",1), ("Bob",2), ("Carol",3)) //>personArray = [Lscala.Tuple2;@4e3f9fe5
  34. def findByName(name:String) = personArray.find(_._1 == name).getOrElse(("David",4)) //>findByName(name = "foo") => (David,4)
  35. val findBob = findByName("Bob") //>findBob = (Bob,2)
  36. val findEli = findByName("Eli") //>findEli = (David,4)
  37.  
  38. val bobFound = findBob._2 //>bobFound = 2
  39. val eliFound = findEli._2 //>eliFound = 4
  40.  
  41. }
Success #stdin #stdout 0.42s 382080KB
stdin
Standard input is empty
stdout
Standard output is empty