2013-03-21 300 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,清除它並添加最後的值。