我有一個Iterable,我需要檢查一下iterable中的特定字符串。我試過iter.contains("my string")
,但它不起作用。任何想法?我正在尋找一個包含像iterable的方法
回答
嘗試
iter.toString().toLowerCase().equals("my string")
這不是問題,我認爲他想要這樣做而不是遍歷元素......爲什麼是一個謎,但它是。 –
好的。我認爲這個問題就像他試圖迭代元素並直接與'iter'對象進行比較。 – NFE
@VTT所以這是關於'Iterator'而不是'Iterable'? –
Iterable是一個接口,它不包含像contains這樣的方法,因爲這會假設底層數據結構可以順序讀取而不會損壞。
兩者都不是Iterable接口所做的假設。
嘗試創建一個迭代器對象,有一個包含了迭代方法在大多數編程語言
這是有一個在這裏回答 Why does Iterator have a contains method but Iterable does not, in Scala 2.8?
一個非常類似的問題是的,但是這是關於Java的...... –
你只有一個裸露的Iterable
的真正選擇是做一個裸的for
循環:
for (String string : iterable) {
if (string.equals(foo)) {
return true;
}
}
return false;
...或者你可以調用另一種基本上做同樣事情的方法,例如番石榴的Iterables.contains(Iterable, Object)
。
Interface Iterable只返回一個Iterator。所以如果某個值在裏面,就不可能直接獲得。相反,你必須迭代使用for-each結構,例如
boolean found = false;
for (String s: iter) {
if (s.equals("my string")) {
found = true;
break;
}
}
根據大小,這可能不是很有效。但如果它是你唯一的選擇......它至少會起作用。
Björn有多個錯誤,例如'String'而不是'String',並且在'String'上使用'=='而不是'equals()'。 –
@owlstead:你說得對。感謝您的評論!我糾正了錯誤。 –
- 1. 包含用於Iterable和Iterator的方法?
- 2. 爪哇 - 尋找一個方法類似包含
- 3. T4包含.cs正在尋找ITextTemplatingEngineHost
- 4. 尋找方法來檢查包含一些字的字符串
- 5. 我正在尋找一個快速的方式在模板
- 6. 爲什麼Iterator在Scala 2.8中有一個包含方法但Iterable沒有?
- 7. 我正在尋找一個幫助臺解決方案開源
- 8. 尋找一種方法來總計我的每一個發票
- 9. 尋找一種方法來查找,幷包括一個特定的選擇器
- 10. 創建方法尋找一個不叫
- 11. 正在尋找一個鏈接的詞
- 12. 正在尋找一個檢查SMPP數據包的工具
- 13. 尋找方法
- 14. 在一個方法中包含文件?
- 15. 尋找正確的克隆方法
- 16. HTML語句正在運行,正在尋找包裝方式
- 17. 正在尋找箱子的方法來打印旁邊另一
- 18. 尋找快速的方法來檢查一個字符串是否包含字典中的一個字Java
- 19. 正在尋找一個Windows 8 XAML控件,該控件可以包含剪輯後的動畫圖像
- 20. 找到在Xcode中包含靜態庫的正確方法
- 21. 在尋找「自我」的含義
- 22. 我正在尋找一種同時擁有一個servlet和一個jax ws監聽器的方法
- 23. 在圖像中尋找一個棋盤
- 24. 我正在尋找一種使用命令行編輯GPO的方法
- 25. 我正在尋找一種方法將char轉換爲bin中的數組C#
- 26. 我正在尋找一種簡單的方法來生成Python代碼
- 27. 我正在尋找一個特定類型的jQuery的滑塊
- 28. 我正在尋找一個好的Rails的源出於此
- 29. 我正在尋找一個用哈希碼進行圖像比較的解決方案。我的嘗試低於
- 30. 正在尋找一個jquery最近查看的解決方案
我們需要額外的信息(就像這個評論需要更多關於我們需要什麼樣的數據的數據)。 – Pshemo
你能展示更多的代碼嗎? 「iter」究竟是指什麼? –
http://stackoverflow.com/questions/2925765/why-does-iterator-have-a-contains-method-but-iterable-does-not-in-scala-2-8 – lamilambkin