我需要一些java帮助,并从数组中返回结果。
我的数组列表存储来自餐厅的订单(由订单类创建)。 Deliverylog类(创建数组列表)然后有一个方法将订单添加到名为waitingList的数组列表中。
每个订单都有一个参考编号以及交货时间的详细信息等等。
尝试做什么,但还没有得到线索的是,创建一个带参数(int ref)的方法,该方法将在数组列表中搜索与输入的参考编号相同的项目。当它找到它时它返回顺序,否则它返回null。
任何帮助都是适当的。
代码
/**
* Show a order.
* @param refnum The reference number of the order to be shown
*/
public void findOrderWaiting(int refnum)
{
if(refnum < 0) {
// This is not a valid reference number
}
else if(refnum <= numberOfOrders()) {
// This is a valid reference number
System.out.println(waitingList.get(refnum));
}
else {
// This is not a valid reference number
}
}
答案 0 :(得分:1)
你知道arrayList有一个查找里面项目的方法:
//a is an arraylist
//filling the list here is omitted
//o is the object to find its index
int ind=a.indexOf(o);
int indexOf(Object o)
已经发明,因此您无需制作方法。如果你想将它用于学习目的,你可以从互联网上搜索散列技术,但你使用的是arrayList,最简单的是indexOf()方法。
HashTable更灵活,让您可以自由搜索项目或密钥(您可以提供密钥和获取项目,或者您提供项目并获取密钥)(密钥也可以是对象!)
答案 1 :(得分:0)
好吧,你可以使用标准for循环遍历数组:
for(int i=0; i<array.length; i++){
if(array[i].intPart == ref) return array[i];
}
return null;
希望有所帮助!
答案 2 :(得分:0)
for(String s: restaurentOrders){
if(s.equalsIgnoreCase()){
//You have it..
}
}
如果你将数组/ Arraylist存储在restaurentOrders中。希望它有所帮助