好的。這是一個問題。這是我的收藏:{2,3,4,2,3,5}
。假設現在是List
。我想搜索這個集合的所有匹配'2'
。我想索引相同。我知道List
和Arrays.binarySearch()
中有indexOf()
和lastIndexOf()
方法。但是,它們都返回一個指示搜索元素位置的元素。有沒有一種簡單而有效的方法來查找所有匹配?請注意,這個問題不限於基本類型。查找Java集合中的所有匹配
0
A
回答
5
除非對列表進行排序,否則無法使用binarySearch。如果它已排序,則所有匹配項都位於indexOf和lastIndexOf之間。
3
迭代收集並手動檢查每個元素。
+0
這真的。你可以去做一些簡化的方法,但是你最好的選擇就是創建一個數組,循環訪問你的集合,然後將匹配的結果添加到你創建的數組中,然後返回它。 – Eric 2009-09-16 07:48:14
3
如果你想要所有的匹配,最直接的方法是循環它。
簡單是最好的策略。
或者你有一些特定的原因沒有循環?
1
爲什麼你想找到索引?如果可能,請考慮使用列表以外的其他內容,例如允許重複或排序列表的哈希表,以便縮短搜索時間。否則,您可以獲取該整數的所有實例的唯一方法是使用for循環手動搜索。
3
嘗試阿帕奇CollectionUtil
類方法countMatches
0
退房的Bolts functional programming library。你可以用這個來過濾。
1
使用LambdaJ,你將有一個'封閉像'系統來編寫你的案例。
相關問題
- 1. 與集合中的所有單詞匹配的所有項目
- 2. 查找集合的所有子集
- 3. 查找集合中的所有對象的Java MongoDB的
- 4. Linq查詢集合屬性和匹配所有的孩子
- 5. 找到所有匹配的
- 6. Ruby模式匹配 - 查找所有可能的匹配數
- 7. Python。如何查找匹配子串的所有匹配項?
- 8. 查找所有表匹配列
- 9. 使用emguCV查找圖像集合中的匹配圖像3.1.0
- 10. 查找兩個日期對象集合中的匹配對象
- 11. 檢查集合中的所有項目是否與Scala中的謂詞匹配
- 12. 在java中找到所有可能的組合集合
- 13. SymPy中所有可能匹配的集合
- 14. 創建對象集合,然後在Excel VBA集合中查找匹配
- 15. 如何刪除與Meteor集合中的查詢匹配的所有值?
- 16. 在集合中查找多個元素匹配
- 17. 在數據庫表中查找匹配集合
- 18. 查找data.table中的向量中的所有匹配
- 19. Linqtosql - 查找與查詢中所有標籤匹配的所有實體
- 20. 如何查找與Linq/SQL中的組合列表相匹配的所有行?
- 21. 集合中的SQL查詢集具有精確匹配的查詢
- 22. 如何查找符合條件並返回R中匹配行的所有行?
- 23. SQL查找匹配 - 合併查詢
- 24. 參考檢查。查找,匹配,組合
- 25. 查找與HTML文檔中的模式匹配的所有類?
- 26. 的LINQ查找集合中的所有項目從其他集合
- 27. 查找條件不在數組中的所有匹配條件
- 28. 查找/編輯嵌套json中的所有匹配?
- 29. 查找字符串中的所有不匹配換行符
- 30. 查找字符串中的所有匹配項 - Apache Presto
P.S:謝謝大家的回覆。我認爲這一個做我想要的:http://commons.apache.org/collections/apidocs/org/apache/commons/collections/CollectionUtils.html#select(java.util.Collection,org.apache.commons.collections .Predicate) – Jay 2009-09-16 08:24:51
如果上面的鏈接被破壞,請在這裏查找select方法http://commons.apache.org/collections/apidocs/org/apache/commons/collections/CollectionUtils.html – Jay 2009-09-16 08:25:50