java - 搜索 java 自定义对象的数组

标签 java

我有一组自定义对象 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/

相关文章:

java - 在 Android 应用程序中实现基于 Java 的 Web 服务

java - XQuery Saxon 异常 (java.lang.IllegalArgumentException)

java - Android - findViewById(int id) 始终返回 null

c# - 通过方法设置变量与设置实际变量的区别

java - (Java) 获取第二个到最后一个正斜杠和最后一个正斜杠之后的字符串值

Java:两个日期之间的差异(以月为单位)

java - 将图像制作为 "boundary"

Java 再次 "Cannot find symbol"

包含管道和换行符的Java Split字符串

java - Jvisualvm显示cpu使用率大于处理器数量