【发布时间】:2013-04-17 20:05:24
【问题描述】:
在这段代码中,如果某个值为零,我需要删除一个对象 [Portfolio.total.get(k).get(c).current_quantity==0]。
for(int k=0;k<Run_process.total_Agents;k++){
for(int c=0;c<Portfolio.total.get(k).size();c++){
if(Portfolio.total.get(k).get(c).current_quantity==0){
System.out.println("delete Agent"+k+" "+Portfolio.total.get(k).get(c).stocks.stock_Id);
Portfolio.total.get(k).remove(c);
//remove from portfolio if there is no quantity
}
}
//Portfolio.total.get(k).trimToSize();
}
//Portfolio.total.trimToSize();
for(int k=0;k<Run_process.total_Agents;k++){
for(int c=0;c<Portfolio.total.get(k).size();c++){
if(Portfolio.total.get(k).get(c).current_quantity==0){
System.out.println("still zero quantity Agent"+k+" "+Portfolio.total.get(k).get(c).stocks.stock_Id);
//remove from portfolio if there is no quantity
}
}
//Portfolio.total.get(k).trimToSize();
}
问题是,在我再次运行此循环以检查一切是否正常但有时似乎 1-3 个值虽然有 [Portfolio.total.get(k).get(c).current_quantity==0]仍然在数组列表中。下次运行此代码时,此对象将被正确删除。 总而言之,下次运行此代码时会删除一些值
【问题讨论】: