Skip to Content
Scala Cookbook, 2nd Edition
book

Scala Cookbook, 2nd Edition

by Alvin Alexander
August 2021
Intermediate to advanced
799 pages
17h 41m
English
O'Reilly Media, Inc.
Content preview from Scala Cookbook, 2nd Edition

Chapter 15. Collections: Tuple, Range, Set, Stack, and Queue

Compared to the previous collection chapters, this chapter covers collection classes that tend to be a little different than your standard sequence and map types.

A tuple is essentially a sequence, but like a class or trait, it can contain any number of different types, as shown in this REPL example:

scala> (1, 2.2, "a", 'a')
val res0: (Int, Double, String, Char) = (1, 2.2, a, a)

Tuples are convenient to use when you just want a container for a series of potentially mixed types like this. Recipe 15.1 demonstrates the use of tuples.

A range is an evenly spaced sequence of whole numbers or characters and is often used in for loops and to populate other collections. Their use is covered in Recipe 15.2.

A set is a collection that contains only unique elements, where uniqueness is determined by the == method of the type the set contains. Because a set only contains unique elements, if you attempt to add duplicate elements to it, the set ignores the request. Scala has both immutable and mutable versions of its base Set implementation and offers additional set classes for other needs, such as having sorted sets. Sets are covered in Recipes 15.3 through 15.5.

A queue is a first-in, first-out data structure, and a stack is a last-in, first-out structure. Scala has both mutable and immutable versions of each type, and they’re demonstrated in Recipes 15.6 and 15.7, respectively.

15.1 Creating Heterogeneous Lists with Tuples

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Scala Cookbook

Scala Cookbook

Alvin Alexander
Programming Scala, 2nd Edition

Programming Scala, 2nd Edition

Dean Wampler, Alex Payne
Functional Programming in Scala, Second Edition

Functional Programming in Scala, Second Edition

Runar Bjarnason, Michael Pilquist, Paul Chiusano

Publisher Resources

ISBN: 9781492051534Errata Page