By Alvin Alexander. Last updated: January 6, 2020
This page contains a large collection of examples of how to use Scala Vector class transformer methods.
Transformer methods
A transformer method is a method that constructs a new collection from an existing collection.
Method | Returns |
---|---|
collect(pf) |
Creates a new collection by applying the partial function pf to all elements of the vector, returning elements for which the function is defined |
diff(c) |
The difference between this vector and the collection c |
distinct |
A new sequence with no duplicate elements |
flatten |
Transforms a list of lists into a single list |
flatMap(f) |
When working with sequences, it works like map followed by flatten |
map(f) |
A new sequence by applying the function f to each element in the Vector |
reverse |
A new sequence with the elements in reverse order |
sortWith(f) |
A new sequence with the elements sorted with the use of the function f |
updated(i,v) |
A new Vector with the element at index i replaced with the new value v |
union(c) |
A new sequence that contains all elements of the vector and the collection c |
zip(c) |
A collection of pairs by matching the vector with the elements of the collection c |
zipWithIndex |
A vector of each element contained in a tuple along with its index |
val x = Vector(Some(1), None, Some(3), None)
x.collect{case Some(i) => i} # Vector(1, 3)
# diff
val oneToFive = (1 to 5).toVector # val oneToFive = (1 to 5).toVector
val threeToSeven = (3 to 7).toVector # Vector(3, 4, 5, 6, 7)
oneToFive.diff(threeToSeven) # Vector(1, 2)
threeToSeven.diff(oneToFive) # Vector(6, 7)
Vector(1,2,1,2).distinct # Vector(1, 2)
val a = Vector(Seq(1,2), Seq(3,4))
a.flatten # Vector(1, 2, 3, 4)
# map, flatMap
val fruits = Vector("apple", "pear")
fruits.map(_.toUpperCase) # Vector(APPLE, PEAR)
fruits.flatMap(_.toUpperCase) # Vector(A, P, P, L, E, P, E, A, R)
Vector(1,2,3).reverse # Vector(3, 2, 1)
val nums = Vector(10, 5, 8, 1, 7)
nums.sorted # Vector(1, 5, 7, 8, 10)
nums.sortWith(_ < _) # Vector(1, 5, 7, 8, 10)
nums.sortWith(_ > _) # Vector(10, 8, 7, 5, 1)
Vector(1,2,3).updated(0,10) # Vector(10, 2, 3)
Vector(2,4).union(Vector(1,3)) # Vector(2, 4, 1, 3)
# zip
val women = Vector("Wilma", "Betty") # Vector(Wilma, Betty)
val men = Vector("Fred", "Barney") # Vector(Fred, Barney)
val couples = women.zip(men) # Vector((Wilma,Fred), (Betty,Barney))
val a = Vector.range('a', 'e') # Vector(a, b, c, d)
a.zipWithIndex # Vector((a,0), (b,1), (c,2), (d,3))
Scala Vector summary
I created this tutorial to show examples of Scala Vector
transformer methods, but for many more examples of how to work with Vector
, see my Scala Vector class syntax and method examples tutorial.