0
A
回答
1
你的問題沒有指定你想要什麼當列表不包含必要項目時發生。
如果列表中的所有項目符合您的條件下將返回true,否則爲false:
val ints1: List[Int] = List(1, 2, 3, 4, 5, 6, 7)
val ints2: List[Int] = List(10, 10, 10, 10)
ints1.forall(i => List(10, 20, 30).contains(i)) // false
ints2.forall(i => List(10, 20, 30).contains(i)) // true
下面將返回一個列表,只有那些符合標準的項目:
val ints1: List[Int] = List(10, 20, 30, 40, 50, 60, 70)
val ints2: List[Int] = List(10, 10, 10)
ints1.filter(i => List(10, 20, 30).contains(i)) // List(10, 20, 30)
ints2.filter(i => List(10, 20, 30).contains(i)) // List(10, 10, 10)
2
FORALL
您可以使用forall
含有能有效或合法元素集,並且希望在列表中看到的。
list.forall(Set(10, 20, 30).contains) //true means list only contains 10, 20, 30
是集功能
你不必使用contains
方法Set
延伸Int => Boolean
。您可以使用設置的功能等
list forall Set(10, 20, 30)
過濾
您可以使用過濾器來過濾掉不屬於在給定列表中的元素。再次,您可以使用Set as Function作爲Set extends Function。
list.filter(Set(10, 20, 30)).nonEmpty //true means list only contains 10, 20 and 30
收藏,如果你喜歡的模式匹配
收集需要的部分功能。如果你喜歡的模式匹配只使用collect
list.collect {
case 10 => 10
case 20 => 20
case 30 => 30
}.nonEmpty //true means list only contains 10, 20 and 30
斯卡拉REPL
scala> val list = List(10, 20, 30, 40, 50)
list: List[Int] = List(10, 20, 30, 40, 50)
scala> list forall Set(10, 20, 30)
res6: Boolean = false
+3
問題是要求如何驗證列表_only_包含值'10','20'和'30'。爲此,我們需要額外增加一個步驟,並寫入'list.filterNot(Set(10,20,30).contains(_))。isEmpty'來驗證不包含的元素列表因爲'Set'是空的。 – Eric
0
如果你只是想確定所有在列表中的值是否爲「合法」,使用FORALL:
def isLegal(i: Int): Boolean = ??? // e.g. is it 10, 20, or 30
val allLegal = list forall isLegal
如果你想減少你的清單,只剩下合法的價值,我們Ë過濾:
val onlyLegalValues = list filter isLegal
注意,一個Set[Int]
算作一個Int => Boolean
功能,因此您可以使用到位您isLegal
方法:
val isLegal = Set(10, 20, 30)
val allLegal = list forall isLegal
val onlyLegalValues = list filter isLegal
相關問題
- 1. Linq列表包含特定值
- 2. 僅包含()特定屬性
- 3. 模式匹配 - 確保列表僅包含一個結構的值
- 4. 如何確保列表包含獨特的元素?
- 5. 表包含特定的值或者不
- 6. 在其他表中列表中不包含特定值的行
- 7. 確定一個列表是否包含獨特元素
- 8. 查找僅包含特定字符
- 9. Rally看板 - 僅包含特定標籤
- 10. C#實體框架4.1 Lambda包含 - 僅選擇特定的包含值
- 11. 確定包含特定字符的CTLine
- 12. php - 獲取在特定列中包含特定值的csv行
- 13. 隱藏在特定列中包含特定值的行
- 14. Selenium IDE下拉列表框包含特定值Loop?
- 15. 爪哇 - 看看列表模塊包含一個特定值
- 16. 如何檢查嵌套列表是否包含特定值C#
- 17. 列表是否包含具有特定值的項目?
- 18. 如何搜索包含特定動態值的列表
- 19. 如何確定2維列表是否包含值?
- 20. 可能測試一個變量是否僅包含特定值?
- 21. 獲取隨機行(但僅當行包含特定值)
- 22. 確認輸入值僅包含字母表的驗證問題
- 23. 如何廉價確定列是否僅包含NULL記錄?
- 24. 如何確保列中包含一行
- 25. 如何確定包含特定小數的行在sql列中
- 26. SQL LIMIT關鍵字:確保特定結果包含
- 27. 如何製作包含來自其他列表的特定值的列表?
- 28. Haskell:測試列表是否包含特定的「子列表」
- 29. Elisp列表包含值
- 30. 的LINQ包含值列表
如果您認爲您的問題已解決,請考慮接受答案。如果不是的話,那麼對那些幫助他們將答案提高到可接受水平的人發表評論。它幫助每個人。 – maasg
你想確保你只能添加某些項目到列表中?列表可能只包含特定項目,或者檢查給定列表是否包含特定時間點的某些項目。 3種不同答案的選項。 – maasg