Руководство по Scala. Коллекции. Пара “ключ-значение”.

В данной статье мы рассмотрим пару ключ-значение (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.