Scala Функциональный стиль преобразования Array [Int] в Map [Int, Int] - PullRequest
1 голос
/ 22 октября 2019

Я хочу преобразовать Array [Int] в Map [Int, Int], где каждый ключ - это элемент массива, а соответствующее значение - индекс элемента в массиве.

Array(11, 12, 13) => Map((11,0), (12,1), (13,2))

Возможно ли это сделать без использования изменяемой карты с более функциональным стилем?

, например:

myArray.toMap(implicit def (... ))

1 Ответ

6 голосов
/ 22 октября 2019
scala> Array(11, 12, 13).zipWithIndex.toMap
res0: scala.collection.immutable.Map[Int,Int] = Map(11 -> 0, 12 -> 1, 13 -> 2)

PS Но разумно используйте HashMap / HashSet из коллекций Scala, чтобы избежать уязвимостей безопасности при ненадежном вводе данных при DoS / DoW-атаках, которые используют уязвимости хеш-коллизий из них прямо или косвенно через Scalaметоды коллекций, которые используют их под капотом: toMap, keys, distinct, groupBy и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...