В данной статье мы рассмотрим пару ключ-значение (Map) в Scala. Ключ должен быть уникальным, а значение может повторяться в пределах коллекции. Существует два типа Map в Scala: изменяемая и неизменяемая. По умолчанию используется неизменяемая.
Для использования изменяемой коллекции необходимо импортировать scala.collection.mutable.Map.
Для создания Map в данном языке программирования используется следующая запись:
var имя_коллекции:Map[Int,String] = Map();
или
var имя_коллекции = Map(1-> "First", 2 -> "Second");
Рассмотрим простой пример использования Map:
package net.proselyte.scalatutorial.collections
/**
* Simple Scala class that demonstrates a Map is Scala.
*
* @author Eugene Suelimanov
*/
object MapDemo {
def main(args: Array[String]) {
var users = Map(1 -> "Ivan Ivanov", 2 -> "Kolya Nikolaev", 3 -> "Viktor Viktorov");
println("users: " + users);
println("users keys: " + users.keys);
println("users values: " + users.values);
val moreUsers = Map(4 -> "Innokentii Morozov", 5 -> "Mikhail Mikheev");
println("moreUsers: " + moreUsers);
users = users ++ moreUsers;
println("users: " + users);
println("users contains key 1: " + users.contains(1));
println("users contains key 100: " + users.contains(100));
}
}
В результате выполнения данной программы мы получим следующий вывод в консоль:
users: Map(1 -> Ivan Ivanov, 2 -> Kolya Nikolaev, 3 -> Viktor Viktorov)
users keys: Set(1, 2, 3)
users values: MapLike.DefaultValuesIterable(Ivan Ivanov, Kolya Nikolaev, Viktor Viktorov)
moreUsers: Map(4 -> Innokentii Morozov, 5 -> Mikhail Mikheev)
users: Map(5 -> Mikhail Mikheev, 1 -> Ivan Ivanov, 2 -> Kolya Nikolaev, 3 -> Viktor Viktorov, 4 -> Innokentii Morozov)
users contains key 1: true
users contains key 100: false
Process finished with exit code 0
На этом мы заканчиваем изучение Map в Scala.