簡體   English   中英

有沒有一種更快的方法來檢查列表中的某個項目是否大於,小於或等於某個數字?

[英]Is there a faster way to check if an item in a list if it is greater than, less than, equal to a certain number?

有沒有一種更快的方法來檢查列表中的項目是否大於,小於或等於某個數字?

還是只需要遍歷它? 我只是好奇是否有預建的功能。

例:

清單包含5、5、10、15、15、20。

我想檢查實際上是否有多少個項目> =5。所以答案是6。如果我想檢查> = 15,則答案應該是3。

step 1 : sort the list
step 2 : find the index for desired element
step 3 : print length-index

在文檔中沒有看到任何這樣的方法,所以我要說 您必須遍歷列表。 如果已排序,則可以執行二進制搜索以獲得更快的結果。

您需要循環檢查每個元素的條件。

您要排序嗎? 如果要處理數組,則可以使用Arrays.sort()如果要處理集合,則可以使用Collections.sort()

沒有預構建的功能afaik。 如果您的列表項不是順序關鍵的(即,您沒有創建任何優先級列表或LIFO / FIFO),則可以在查找元素之前改善對排序列表的搜索。

您可以對列表進行排序,然后只需將其第一個和最后一個元素與數字進行比較。

這就是為什么我要問一個問題,即當前Collection中是否存在這種方法。

標准集合API中沒有這種方法。

寫一個循環。 它比在Internet上搜索第三方庫要更快,並且測試5行方法可以做到這一點。 而且您的代碼很可能會更快……當然也不會慢。

去做就對了。 (我會親自為您編寫代碼,但這聽起來像您需要練習...)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM