在Java ArrayList中搜索
我正在尝试ArrayList
通过ID号来搜索客户的最佳方法。以下代码无法正常工作;编译器告诉我我缺少一条return
语句。
Customer findCustomerByid(int id){ boolean exist=false;
if(this.customers.isEmpty()) {
return null;
}
for(int i=0;i<this.customers.size();i++) {
if(this.customers.get(i).getId() == id) {
exist=true;
break;
}
if(exist) {
return this.customers.get(id);
} else {
return this.customers.get(id);
}
}
}
//the customer class is something like that
public class Customer {
//attributes
int id;
int tel;
String fname;
String lname;
String resgistrationDate;
}
回答:
编译器抱怨是因为您当前在for循环中有’if(exist)’块。它必须在它之外。
for(int i=0;i<this.customers.size();i++){ if(this.customers.get(i).getId() == id){
exist=true;
break;
}
}
if(exist) {
return this.customers.get(id);
} else {
return this.customers.get(id);
}
话虽如此,有更好的方法来执行此搜索。就个人而言,如果我使用的是ArrayList,我的解决方案将类似于Jon Skeet发布的解决方案。
以上是 在Java ArrayList中搜索 的全部内容, 来源链接: utcz.com/qa/427821.html