日期:2014-05-20  浏览次数:20711 次

list计算重复问题。。
如下
orer_no ship_no fee
x201 123456 4000
x555 123456 4000
d210 56789 1000
d202 56789 1000
d203 56789 1000
合计 11000

当前算的合计金额虽然没算错,但是,一个运输单号只有一笔运费,
现在要求是如何根据运输单号判断 如果运输单号重复哪么只算一个单号的运费
也就是算最终合计运输应当为5000.
求最简单的判断方法。

------解决方案--------------------
String s = "";
for(Order order : orderList){
if(s == ""){
s = order.ship_no;
}
int totalfee = 0;
if(!order.ship_no.equals(s)){
totalfee += order.fee;
}
s = order.ship_no;
}
试试这个行不行啊!!!!!!!!!

------解决方案--------------------
ArrayList容器
有一个contains方法判断是否重复
if有了就pass,没有就把后面的数字加起来,是这样么
而且还是没太明白你的需求。。。
------解决方案--------------------
+1,或者使用HashSet
探讨

引用:

现在就是想判断 ship_no 如果他是重复的哪么就只取一个fee 就行了而不是加二次。

就用ArrayList 里的 contains方法呀