#scala
#scala
Вопрос:
Мне нужно вывести ответ типа String, Iterable[String]
, где String
равен ключу 3
и Iterable[String]
представляет собой список values
, соответствующий ключу 3
.
Учитывая следующее:
Array[(String, String)] = Array((2,1), (2,1), (2,3), (2,3), (2,1), (2,4), (3,2), (2,2), (2,4), (3,2), (2,4), (2,3), (3,2), (3,2), (2,5), (2,5), (2,7), (2,1), (2,6), (3,3), (2,5), (3,2), (15,2), (3,2))
Ответ должен быть:
3, [2,2,2,2,3,2,2]
Кто-нибудь знает, как я могу это сделать?
Спасибо.
Ответ №1:
Вы можете сделать это путем фильтрации по ключу и сопоставления:
def f(array:Array[Int], key:Int) =
(key, array.withFilter(_._1==key).map(_._2).toList)