java - 从有序数组中检索 ID 的高效 Java 函数

标签 java search

在 Java 程序中,我有一个对象数组。每个对象都有一个 ID 号字段,并且所有字段都是公共(public)的(没有 getter 和 setter)。该数组按 ID 号(整数)排序​​。我不想使用 for 循环或类似的技术来循环每个对象,因为数组可能很大。所以,

  1. 什么搜索算法可以有效地做到这一点,以及...
  2. 是否有一个方便的 Java 方法可以为我执行此搜索,以便我 不用自己写吗?

最佳答案

使用 java.util.Arrays.binarySearch() (如果它是基元数组或者您有一个 Comparator)或 java.util.Collections.binarySearch() (如果您有自己的 Comparable 的非数组集合)对象)。

听起来 Arrays.binarySearch 更适合您的问题。编写一个正确的 java.util.Comparator 来理解您的顺序。

关于java - 从有序数组中检索 ID 的高效 Java 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7224933/

相关文章:

java - 在 spring mvc 中处理包装的异常

java - 将 0x20A0600000000000L 输入 Long.decode 时出现数字格式异常

git - 机器人/蜘蛛会克隆公共(public) git 存储库吗?

javascript - 用于缓存来自 RESTful 服务的搜索结果的优雅方法?

html - 用于检查 UI 规范的工具/插件

python-3.x - 找到更好的方法来查找字符串中包含多个相同符号的文本

java - 使用 Spring 进行 JUnit 测试

java - android tabhost 的 Activity 生命周期

java - 解释性能差异

search - 针对拼写错误的搜索关键字的 Google 搜索算法