是否有更快的方法来检查列表中的项是否大于,小于等于某个数字?

时间:2013-03-08 09:00:25

标签: java

是否有更快的方法来检查列表中的项目是否大于,小于等于某个数字?

或者你只需​​循环它?我很好奇是否有预先建立的功能。

示例:

列表包含5,5,10,15,15,20。

我想检查实际有多少项> = 5.所以答案是6.如果我想检查> = 15,答案是3。

7 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我没有看到任何此类方法in the documentation,所以我会说 NO 。你必须遍历List。如果它已排序,您可以进行二进制搜索以获得更快的结果。

答案 2 :(得分:0)

您需要循环检查每个元素的条件。

答案 3 :(得分:0)

你想排序吗?如果您正在处理数组,则可以使用Arrays.sort() else,如果您正在处理可以使用的集合Collections.sort()

答案 4 :(得分:0)

没有预先建立的功能。如果您的列表项不是关键命令(即,您没有制作任何优先级列表或LIFO / FIFO),则可以在找到元素之前改进搜索排序列表。

答案 5 :(得分:0)

您可以对列表进行排序,然后您只需要将其第一个和最后一个元素与数字进行比较。

答案 6 :(得分:0)

  

这就是为什么我问一个问题,如果集合中当前存在这样的方法。

标准集合API中没有这样的方法。

写一个循环。这应该是更快的代码和测试5线方法来做到这一点,而不是在互联网上搜索第三方库。而且你的代码很可能会更快......当然也不会慢。

做吧。 (我自己为你编写代码,但听起来你需要练习......)

相关问题