在 Java 程序中,我有一个对象数组。每个对象都有一个 ID 号字段,并且所有字段都是公共(public)的(没有 getter 和 setter)。该数组按 ID 号(整数)排序。我不想使用 for 循环或类似的技术来循环每个对象,因为数组可能很大。所以,
- 什么搜索算法可以有效地做到这一点,以及...
- 是否有一个方便的 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/