Как объединять и просматривать списки в Scala? - PullRequest
3 голосов
/ 22 ноября 2011

Как мне выполнить операцию, которая проверяет идентификаторы, удаляет различные элементы первого списка и добавляет различные элементы второго списка?

Буквы являются идентификатором сущности.Числа являются ссылкой на объект в памяти.

List 1: A:1, B:2, C:3, D:4, E:5
List 2: B:6, C:7, E:8, F:9

RemovedElements: A:1, D:4
InvalidElements: B:6, C:7, E:8
ResultList: B:2, C:3, E:5, F:9

Кто-нибудь знает, есть ли какая-либо функция, которая выполняет эту операцию?

1 Ответ

5 голосов
/ 22 ноября 2011
scala> val l1 = Seq(('A', 1), ('B', 2), ('C', 3), ('D', 4), ('E', 5))
l1: Seq[(Char, Int)] = List((A,1), (B,2), (C,3), (D,4), (E,5))

scala> val l2 = Seq(('B', 6), ('C', 7), ('E', 8), ('F', 9))
l2: Seq[(Char, Int)] = List((B,6), (C,7), (E,8), (F,9))

scala> l2 map { e =>
     |   l1.find(_._1 == e._1).getOrElse(e)
     | }
res51: Seq[(Char, Int)] = List((B,2), (C,3), (E,5), (F,9))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...