【问题标题】:How is util.Collections usedutil.Collections 是如何使用的
【发布时间】:2019-10-30 22:36:36
【问题描述】:

我不明白 Collections 通常是如何使用的。当我发现二进制搜索是什么并且我在 java 中查找了一个实现时,困惑就开始了。我发现的第一个是 https://www.javatpoint.com/binary-search-in-java,但我也在 Geeksforgeeks 上发现了这个:https://www.geeksforgeeks.org/collections-binarysearch-java-examples/

它们几乎具有相同的输出,显然第二个更简单,但我真的不明白第一个链接的意义何在。概括所有 Collections,是否存在使用 Collections 不利的情况?

很抱歉,我的问题不能更具体,或者如果这个问题没有意义,但我的理解不足以使其更具体。

【问题讨论】:

  • 这是为了防止重新发明轮子,使用内置库而不是重新编写二分搜索可以节省时间,并防止错误。

标签: java collections


【解决方案1】:

java.util.Collections 是一个库类,其中包含处理Collection 类型的实用程序ity 方法。也就是说,它具有解决常见问题或做有用事情的有用方法,因此您不必编写自己的代码来做这些事情。 您的第一个链接显示了从头开始的 binary search algorithm 的实现,而您的第二个链接显示了如何使用实用方法 Collections.binarySearch,这样可以节省您自己编写实现的时间。

第一个链接可能对教育目的有用(因为学生经常需要了解二分搜索算法),或者它可能对需要将二分搜索适应不同问题的人有用。例如,二进制搜索的变体可用于查找目标数的第一次次出现,或大于或等于目标的最小数,但Collections.binarySearch 方法不能执行以下任一操作这些东西,所以你可能不得不自己编写一个实现。

【讨论】:

    【解决方案2】:

    您发布的第一个链接实际上解释了二进制搜索的工作原理,给出了它背后的理论,以及如何自己实现它。这有助于理解二分搜索的工作方式和原因。

    但是,Java 语言有一个用于集合(地图、列表等)的实用程序库,其中一些简单的方法已经实现。第二个链接解释了如何使用该库。

    【讨论】:

      猜你喜欢
      • 2016-11-05
      • 2015-05-04
      • 2014-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多