vector

Scala Vector transformer methods (syntax, examples)

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.

Scala Vector filtering methods (examples)

This page contains a collection of examples of filtering methods that can be used with a Scala Vector class. I’ll first show a table that describes the filtering methods, and then show examples of them.

Scala Vector class: method examples and syntax alvin May 20, 2018 - 10:44pm

This page contains a large collection of examples of how to use the Scala Vector class, including most of the methods that are available on a Vector. (Currently over 170 examples.)

Scala: How to append and prepend items to Vector and Seq

Table of Contents1 - Solution2 - Example data3 - Append a single item4 - Append multiple elements5 - Prepend a single item6 - Prepend multiple elements7 - Seq works just like Vector8 - How to remember the method names9 - A possible problem

Scala FAQ: How do I append or prepend one or more elements to a Vector or Seq class?

Back to top

Solution

To append or prepend one or more elements to a Vector or Seq, use these methods:

Scala tip: How to extract a field from a sequence of objects to create a new sequence

As a brief Scala tip, a fun thing you can do with the map method on Scala sequences (Array, List, Seq, Vector, etc.) is to convert a sequence of objects into a sequence of something else, typically extracting a field from the original object to create the new sequence.

For instance, imagine that you have a case class named Person that has two constructor parameters, firstName and lastName:

“Every person in your company is a vector”

“Every person in your company is a vector. Your progress is determined by the sum of all vectors.”

That’s a quote from Elon Musk. In this context a vector is what I know about from my engineering background, a company of both a speed and a direction, something like this:

case class Vector(speed: Double, direction: String)

The correct thing about that quote is that the worst employees I ever had pulled in a direction that was somewhere around 180 degrees opposite of the direction we were aiming for. For example, if nine out of ten employees are rowing a boat that’s headed east, an employee that’s rowing towards the west is going to slow everyone else down.

Unfortunately I never had much success turning those people around, so they were always fired or encouraged to find other work. Over the years we had everything from people whose work had to be completely re-done to people who had agendas during the 8-5 work hours that had nothing to do with the company’s agenda.

Methods on the Scala collections classes, organized by category

When I wrote the Scala Cookbook, I gave each recipe and then each chapter my full attention. I thought that if I wrote each recipe as well as possible, and included important recipes in each chapter, well, I wanted each chapter to be worth the price of the entire book. That was my goal.

As a result of this effort -- and perhaps to the chagrin of my editor -- the Scala collections chapters ended up being 130 pages in length.

Scala: When the sum of a list is a very large number

As a brief note, I knew that the sum function I wrote in my book on Scala and functional programming would return a wrong value if the sum of the integers in a list was greater than Int.MaxValue, and I was curious how the built-in sum method on lists handled the same problem. It turns out that it works in the same way.

So, if you need to sum a list of integers that may exceed Int.MaxValue, you might need to write a sum function that calculates and returns the sum as a Long. (The same is true for Float and Double.)

Scala: How to fill/populate a list (same element or different elements)

As a quick note, if you ever need to fill/populate a Scala list with the same element X number of times, one solution is to use the fill method that’s available to Scala sequences, like this:

scala> val x = List.fill(3)("foo")
x: List[String] = List(foo, foo, foo)

If you want to populate a list with different element values, another approach is to use the tabulate method: