2016-12-10 5 views
0

Есть два списка, как это:Вычесть один список от другого в том же порядке

val listA=List("a","b","c","d") 
    val listB=List("a","b") 

Я хочу, чтобы ответ, как List («с», «d»)

Но если порядок listB, то вывод должен быть пустым, например:

val listA=List("a","b","c","d") 
    val listB=List("a","c") 

Тогда это должно привести к пустым спискам.

Следовательно, я хочу получить результат ListA-ListB, но заказ следует позаботиться!

ответ

4

Это, кажется, работает, учитывая ваши ограниченные тестовые примеры.

def remainder[T](a: Seq[T], b: Seq[T]): Seq[T] = { 
    val diff = a diff b 
    if (a containsSlice diff) diff else Seq() 
} 

Возможно, это не соответствует более строгим и сложным наборам тестовых случаев.

Смежные вопросы