我有2个数组列表,其中记录存储为对象。
首先arraylist对象具有诸如患者id,totaltestcost,totaltreatmentcost等属性。 第二个arraylist对象具有诸如患者id,totalservicecharges等属性。在2个数组列表中添加属性
现在我的问题是,当我尝试合计一个给定的患者ID,totaltestcost + totaltreatmentcost + totalservicecharges,我不能加总和显示它。
我发现,因为它是在2个数组中,我需要通过id搜索数组并获得成本。
这是我的搜索病人记录 公共patient_class searchrecord(ArrayList的患者中,字符串搜索) {
for(patient_class patient: patients) //used enhanced for loop
if(patient.getid().equals(search))
{
return patient;
}
return null;
}
有,我可以修改这个代码的可能性的方式获得存储在2个数组中的成本?
例如像这样: -
公众诠释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,我需要获得servicecharge费用,但它的另一个阵列。
那么我该如何做到这一点?
谢谢你的时间。
编辑: -
最后我设法做到这家伙,这里是我是如何做到的: -
公共字符串addtotal(ArrayList的患者中,字符串搜索,ArrayListpatient2,字符串搜索2) { INT总;
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;
}
i的两个阵列通过在一次。
谢谢大家分享你的答案,下一次生病肯定使用树状
在我看来,你正在使用错误的数据结构的工作。 一个地图结构,其中病人ID是关键,价值是病人对象将适合工作更好。它将允许查找O(1)的成本。 – 3xil3 2013-05-11 12:51:38
现在改变结构已经太晚了,我需要在星期一给这个项目。如果可能的话请帮忙。 谢谢 – 2013-05-11 12:54:56
嗯,我想帮忙,但我需要一些更多的信息在第二个数组。我只看到1个阵列描述病人列表。但我不知道第二个看起来像什么。这第二份清单是否也是患者名单?如果是,我们在寻找什么方法? – 3xil3 2013-05-11 12:57:00