【发布时间】:2013-05-11 12:46:41
【问题描述】:
我有 2 个数组列表,其中记录存储为对象。
第一个 arraylist 对象具有患者 id、totaltestcost、totaltreatmentcost 等属性。
第二个 arraylist 对象具有患者 id、totalservicecharges 等属性。
现在我的问题是当我尝试将总数相加时,即 totaltestcost + totaltreatmentcost + totalservicecharges,对于给定的患者 ID,我无法将总数相加并显示它。
我发现由于它在 2 个数组中,我需要按 id 搜索数组并获取成本。
这就是我搜索病历的方式 公共患者类搜索记录(ArrayList 患者,字符串搜索) {
for(patient_class patient: patients) //used enhanced for loop
if(patient.getid().equals(search))
{
return patient;
}
return null;
}
是否有可能我可以修改此代码以将成本存储在 2 个数组中?
例如像这样:-
public int searchrecord(ArrayList 患者,字符串搜索) {
for(patient_class patient: patients) //used enhanced for loop
if(patient.getid().equals(search))
{
int total= patient.gettotaltestcost + patient.gettotaltreatmentcost
}
return null;
} 但是如果我使用上述方法只能得到 totaltestcost+totaltreatmentcost 的总和,我还需要获取 servicechargecost 但它在另一个数组中。
那我该怎么做呢?
感谢您的宝贵时间。
编辑:-
我终于做到了,伙计们,我是这样做的:-
public String addtotal(ArrayList patients, String search,ArrayListpatient2,String search2) { 总计;
for(patient_class patient: patients) //used enhanced for loop
{
if(patient.getid().equals(search))
{
for(patient_class patient3: patient2)
{
if(patient3.getid().equals(search2))
{
total=patient.gettreatmentcost()+patient.gettestcost()+patient3.getservicecharge();
return Double.toString(total);
}
}
}
}
return null;
}
我同时传入了两个数组。
感谢大家分享你的答案,下次生病一定要使用树形图
【问题讨论】:
-
在我看来,您为这项工作使用了错误的数据结构。患者 id 是键,值是患者对象的映射结构将更适合这项工作。这将允许查找成本为 O(1)。
-
现在改变结构为时已晚,我需要在即将到来的星期一提交这个项目。如果可能,请提供帮助。谢谢
-
好吧,我想帮忙,但我需要有关第二个数组的更多信息。我只看到一个描述患者列表的数组。但我不知道第二个是什么样子。第二个列表是否也是患者列表,如果是,我们在寻找什么方法?
标签: java arrays loops arraylist