我有一组自定义对象 CustomClass[] customArr,其中 CustomClass 就像
Class CustomClass{
private String key;
private String value;
//getter & setters
}
现在我想按特定值搜索此数组。执行此操作的最佳方法是什么?
最佳答案
实现 equals()
.请确保您遵守方法的约定。
此外,如果您经常搜索并且数组很大,您可能需要为此考虑更好的数据结构,例如Set
的实现之一如果您对数据结构中特定实例的存在或 Map
的实现之一感兴趣如果你想按键搜索。参见 java.util
了解详情。
注意java.util
中的一些数据结构可能需要您提供自己的版本 hashCode()
(例如 HashSet
)有些可能需要您实现 Comparable
接口(interface)或提供 Comparator
(例如 TreeSet
)。
如果您提供自己的 hashCode()
版本确保它与您的 equals()
一致(请参阅 equals()
的 javadoc)。
如果您真的必须使用数组,请考虑 Arrays.binarySearch()
的其中一个版本.请注意,您只能在排序数组上使用它。
关于java - 搜索 java 自定义对象的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9180601/