在此代码中,如果某个值为零,我需要删除一个对象 [Portfolio.total.get(k).get(c).current_quantity == 0]。不从ArrayList中移除对象
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();
}
的问题是,i之后再次运行这个循环来检查,如果一切正常,但有时似乎1-3值虽然有[Portfolio.total.get(K)获得(c)中.current_quantity = = 0]仍然在arraylist中。下次运行此代码时,该对象将被正确删除。 总结一些值将在下次运行代码时被删除
很好,虽然我觉得有点转储... – igoutas 2013-04-24 10:15:20