我不明白集合通常如何使用。当我发现什么是二分搜索并查找 java 中的实现时,困惑就开始了。我发现的第一个是这个https://www.javatpoint.com/binary-search-in-java,但我也在 Geeksforgeeks 上发现了这个: https: //www.geeksforgeeks.org/collections-binarysearch-java-examples/。它们几乎具有相同的输出,显然第二个更简单,但我不太明白第一个链接的意义是什么。为了概括所有集合,是否存在使用集合不利的情况?很抱歉我的问题不能更具体,或者如果问题没有意义,但我的理解还不足以使其更具体。
2 回答
ABOUTYOU
TA贡献1812条经验 获得超5个赞
java.util.Collections是一个库类,包含处理Collection类型的实用方法。也就是说,它具有解决常见问题或做有用事情的有用方法,因此您不必编写自己的代码来完成这些任务。您的第一个链接显示了从头开始的二分搜索算法的实现,而第二个链接显示了如何使用实用程序方法,这可以节省编写您自己的实现。Collections.binarySearch
第一个链接可能对教育目的有用(因为学生通常必须学习二分搜索算法),或者对于需要使二分搜索适应不同问题的人有用。例如,二分查找的变体可用于查找目标数字的第一次出现,或大于或等于目标的最小数字,但该Collections.binarySearch
方法不能执行这些操作,因此您可能必须编写一个自己实施。
冉冉说
TA贡献1877条经验 获得超1个赞
您发布的第一个链接实际上解释了二分搜索的工作原理,给出了其背后的理论,以及如何自己实现它。这有助于理解二分搜索的工作原理和原因。
然而,Java 语言有一个用于集合(地图、列表等)的 util 库,其中已经实现了其中一些简单的方法。第二个链接解释了如何使用该库。
添加回答
举报
0/150
提交
取消