是否有更快的方法来检查列表中的项目是否大于、小于或等于某个数字?
或者你只需要循环遍历它?我只是好奇是否有为此预先构建的功能。
例子:
列表包含 5、5、10、15、15、20。
我想检查有多少项目实际上 >= 5。所以答案是 6。如果我想检查 >= 15,答案是 3。
是否有更快的方法来检查列表中的项目是否大于、小于或等于某个数字?
或者你只需要循环遍历它?我只是好奇是否有为此预先构建的功能。
例子:
列表包含 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()
else 如果您正在处理可以使用的集合Collections.sort()
不,没有预先构建的功能afaik。如果您的列表项不是顺序关键(即您没有制作任何优先级列表或 LIFO/FIFO),您可以在查找元素之前通过排序列表改进搜索。
您可以对列表进行排序,然后您只需将其第一个和最后一个元素与数字进行比较。
这就是为什么我要问一个问题,如果集合中当前存在这样的方法。
标准集合 API 中没有这样的方法。
写一个循环。它应该是更快的代码和测试一个 5 行方法来做到这一点,而不是在互联网上搜索一个 3rd 方库。而且您的代码很可能会更快......当然不会更慢。
去做就对了。(我会自己为你编写代码,但听起来你需要练习......)