2012-10-16 30 views
0

我想比較來自一個循環的前一個和新值,並基於數據增量一些rows.For我這樣做像下面,但數據被覆蓋,因爲我是在裏面做loop.How我可以執行此操作。數據獲取覆蓋for循環的新值和以前的值

for (RecordData recordData : recordDataList) {  
     prevRespondentId = recordData.getRespondentId(); 
     if (recordData.getRespondentId() != prevRespondentId) { 
      rowDataNumber++; 
     } 
     prevRespondentId = recordData.getRespondentId(); 
    } 

我有一個像1,2,3一樣受訪者ID數據,我需要根據該增量數據,看看新的和prev。

回答

1

這會解決您的問題嗎?

prevRespondentId = recordDataList.get(0).getRespondentId(); //Initialize to first or default value probably -1? 

    for (RecordData recordData : recordDataList) { 
       if (recordData.getRespondentId() != prevRespondentId) { 
       rowDataNumber++; 
      } 
      prevRespondentId = recordData.getRespondentId(); 
     } 

基本上,您在覆蓋prevRespondentId之前,甚至在檢查它之前,這是造成問題。

0

很難理解你要做的不過也許是這樣的:

for (RecordData recordData : recordDataList) { 
     if (recordData.getRespondentId() != prevRespondentId) { 
      rowDataNumber++; 
     } 
     prevRespondentId = recordData.getRespondentId(); 
} 

基本上不會覆蓋preRespondentId,直到你做你的,如果檢查。這將確保它始終是以前的受訪者ID。你當然需要初始化它。

希望有所幫助。

0
..some type.. prevRespondentId = -1; 
for (RecordData recordData : recordDataList) { 
    if (recordData.getRespondentId() != prevRespondentId) { 
     rowDataNumber++; 
    } 
    prevRespondentId = recordData.getRespondentId(); 
}