2014-07-16 4 views
0

Je dois retirer tous les éléments List du Array.Comment supprimer tous les éléments List d'un tableau?

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) 

Est-ce que filter serait utile ici?

Répondre

8

Vous devez utiliser numbers.diff(nums) - aussi simple que cela:

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) 
2

vraiment en utilisant diff conduit à une approche simple et nette; d'autres façons, plus verbeuses,

numbers filterNot { nums.contains(_) } 

for (n <- numbers if !nums.contains(n)) yield n 
Questions connexes