我在一个类中有一个数组列表,该数组称为 realtorList。从我的主类中,我将带有房地产经纪人数据的对象存储到房地产经纪人列表中。 我的数据存储在文本文件中并在第一行读取。 这是我存储第一行数据后 realtorList 中的第一个元素。
[房地产经纪人{licenseNumber=AA1111111,firstName=Anna,lastName=Astrid,phoneNumber=111-111-1111, 佣金=0.011}]
当我从输入文件中读取下一行数据时,我需要查看粗体的许可证编号是否已存在于 realtorList 中。我不知道如何去做这件事。
例如,如果下一个房地产经纪人数据许可证号是 AA1111111,我如何检查本示例中确实存在的 AA1111111 的房地产经纪人列表。
最佳答案
一种非常简单的方法是让一个 String ArrayList 与它一起运行(例如,一个称为许可证的列表),并使用带有 indexOf 的 if 语句来返回该许可证值是否已在列表中。由于许可证 ArrayList 只有一个值,因此可以使用 indexOf 轻松搜索。
一个例子是
private boolean checkLicense (String licenseNumber) {
int i = licenses.indexOf(licenseNumber);
if(i == -1) {
return false;
} else {
return true;
}
}
类似的代码适用于我的一个项目,其中机器人的动态电机列表会在添加新电机之前检查是否已存在具有所列端口的电机。
另一种方法可以使用 for 循环进行线性搜索,例如
private boolean checkLicense (String licenseNumber) {
for(int i = 0; i < (realtorList.size() - 1); i++) {
if (licenseNumber.equals(realtorList[i].getLicenseNumber())) {
return true;
}
}
return false;
}
这将对每个对象执行线性搜索,直到找到它(它需要采用类似于上面示例的方法才能以这种方式工作)
关于java - 搜索对象的数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41938066/