Chapter 5. Collections
As in Java, Kotlin uses typed collections to hold multiple objects. Unlike Java, Kotlin adds many interesting methods directly to the collection classes, rather than going through a stream intermediary.
Recipes in this chapter discuss ways to process both arrays and collections, ranging from sorting and searching, to providing read-only views, to accessing windows of data, and more.
5.1 Working with Arrays
Problem
You want to create and populate arrays in Kotlin.
Solution
Use the arrayOf
function to create them, and the properties and methods inside the Array
class to work with the contained values.
Discussion
Virtually every programming language has arrays, and Kotlin is no exception. This book focuses on Kotlin running on the JVM, and in Java arrays are handled a bit differently than they are in Kotlin. In Java you instantiate an array using the keyword new
and dimensioning the array, as in Example 5-1.
Example 5-1. Instantiating an array in Java
String
[]
strings
=
new
String
[
4
];
strings
[
0
]
=
"an"
;
strings
[
1
]
=
"array"
;
strings
[
2
]
=
"of"
;
strings
[
3
]
=
"strings"
;
// or, more easily,
strings
=
"an array of strings"
.
split
(
" "
);
Kotlin provides a simple factory method called arrayOf
for creating arrays, and while it uses the same syntax for accessing elements, in Kotlin Array
is a class. Example 5-2 shows how the factory method works.
Example 5-2. Using the arrayOf
factory method
val
strings
=
arrayOf
(
"this"
,
"is"
,
"an"
,
"array"
,
"of"
,
"strings" ...
Get Kotlin Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.