前回のインデックスArrayList
の実行時に、現在のインデックスの値と同じ値があることを確認しています。以前の値が現在の値と比較して同じであれば、リストに再び追加したくありません。どうやってやるの?私が試しているコードを以下に見てください:ArrayListの実行時の現在のインデックスと前回のインデックスを比較する方法
List<EventDto> liveEvents = new ArrayList<EventDto>();
EventDto liveTvEventDto = null;
List<CustomerEventDetails> customerDetails = odsRepository.getEventDetails(countryCode, customerId);
if (customerDetails.size() > 0) {
for (CustomerEventDetails customerData : customerDetails) {
liveTvEventDto = new EventDto();
liveTvEventDto.setCountryCode(customerData.getCountryCode());
liveTvEventDto.setCustomerId(customerData.getCustomerId());
ListIterator<EventDto> listIterator = liveEvents.listIterator();
if (listIterator.previousIndex() == -1) {
listIterator.next();
int i =listIterator.previousIndex();
System.out.println("listIterator:"+liveEvents.get(i));
if (!(StringUtility.trimmedOrEmptyIfNull(liveEvents.get(i).getCustomerId()).equals(StringUtility.trimmedOrEmptyIfNull(liveTvEventDto.getCustomerId()))
&& StringUtility.trimmedOrEmptyIfNull(liveEvents.get(i).getCountryCode()).equals(StringUtility.trimmedOrEmptyIfNull(liveTvEventDto.getCountryCode()))))
liveEvents.add(liveTvEventDto);
}
}
}
強化されたforループの代わりに通常のループを使用してみませんか? –
どうすればこのループを使用できますか? – user3548196
回答を追加しました。それが役立つかどうかを見てください。 –