2013-03-21 188 views
0

我有以下几点:日期更改为ArrayList的

List<ArrayList<AvailablePeriodObj>> outputLists = new ArayList<ArrayList<AvailablePeriodObj>>(); 

ArrayList<AvailablePeriodObj> partOutputList = new ArrayList<AvailablePeriodObj>();  
DateTime beginCheck = periodsList.get(0).getStart(); 
DateTime endCheck = periodsList.get(0).getEnd(); 

for(int i= 0; i< periodsList.size(); i++) { 
      AvailablePeriodObj apo = periodsList.get(i); 

      if(apo.getStart().equals(beginCheck) && apo.getEnd().equals(endCheck)) { 
       partOutputList.add(apo); 
      } else { 
       outputLists.add(partOutputList); 
       partOutputList.clear(); 
       beginCheck = apo.getStart(); 
       endCheck = apo.getEnd(); 
       partOutputList.add(apo); 
      } 
      if(i== (periodsList.size() - 1)){ 
       outputLists.add(partOutputList); 
      } 

     } 

有了这个,我将所有对启动和日期作出新的名单,我的问题是,经过处理完成在所有的每一个对象列表获取上次使用的开始日期值。

我想要的结果是多个ArraLists取决于有多少不同的开始日期对。

+1

请问您可以在这里添加一些关于您要实现的更多细节。这不是很清楚。 – James 2013-03-21 15:26:55

+0

增加了一些更多的细节.. – Luc 2013-03-21 15:28:38

+0

对不起,我想我误解了代码。错误的答案。你如何创建输出列表?我们可能需要看一些代码 – greenkode 2013-03-21 15:38:46

回答

1

请勿拨打partOutputList.clear();创建新的partOutputList实例(partOutputList = new ArrayList<AvailablePeriodObj>())。

您现在正在执行的操作是将相同的partOutputList实例添加到outputLists,清除它并添加最后的值。