Как удалить все элементы списка из массива?
Я должен удалить все List
элементы из Array
,
scala> var numbers=Array("321","3232","2401","7777","666","555")
numbers: Array[String] = Array(321, 3232, 2401, 7777, 666, 555)
scala> var nums=List("321","3232","2401")
nums: List[String] = List(321, 3232, 2401)
Было бы filter
быть полезным здесь?
2 ответа
Решение
Вы должны использовать numbers.diff(nums)
- так просто:
scala> var numbers = Array("321", "3232", "2401", "7777", "666", "555")
numbers: Array[String] = Array(321, 3232, 2401, 7777, 666, 555)
scala> var nums = List("321", "3232", "2401")
nums: List[String] = List(321, 3232, 2401)
scala> numbers diff nums
res0: Array[String] = Array(7777, 666, 555)
Истинно используя diff
приводит к аккуратному и простому подходу; некоторые другие, более многословные способы,
numbers filterNot { nums.contains(_) }
for ( n <- numbers if !nums.contains(n) ) yield n