Я хочу найти эффективный способ подсчета вхождений элемента в список, расположенный на двухуровневой карте.
Внутренние карты могут содержать неуникальные ключи, например, deep1
существует в shallow1
и shallow2
. Могут быть неуникальные значения по векторам. Например, 1
встречается в shallow1 -> deep1
и shallow2 -> deep1
, но у каждого вектора нет повторяющихся значений.
Например, для следующей карты
val twoLevelMap: Map[String, Map[String, Vector[Int]]] = Map(
"shallow1" -> Map(
"deep1" -> Vector(1, 3, 7),
"deep2" -> Vector(3, 8)),
"shallow2" -> Map(
"deep1" -> Vector(1, 2),
"deep4" -> Vector(7, 8, 9)))
Я ожидаю, чтоget
Карта (1 -> 2, 2 -> 1, 3 -> 2, 7 -> 2, 8 -> 2, 9 -> 1)