gpt4 book ai didi

java - 迭代循环比较当前索引与下一个索引java

转载 作者:行者123 更新时间:2023-12-01 17:03:06 24 4
gpt4 key购买 nike

这是我的代码

String endDate;
int currentIndex = 0;
int nextIndex = currentIndex + 1;
while(currentIndex < aList.size() - 1)
{
endDate = aList.get(nextIndex).getStartDate();
if(endDate == null)
{
endDate = episodeEnd.toString();
}
aList.get(currentIndex).setEndDate(endDate);
currentIndex++;
nextIndex++
}

aList 看起来像这样:

[itemA, 2019-09-18, 2019-11-13],
[itemB, 2019-11-13, 2019-12-19],
[itemC, 2019-12-19, null]

itemC 结束日期将始终为 null,因为没有 itemD。

代码的要点是使每个项目的结束日期与下一个项目的开始日期相同。如果没有下一项,则结束日期应该是代码中其他地方定义的单独时间段的结束日期,即剧集结束

我遇到的问题是正确迭代列表。

循环永远不会到达末尾,因为我需要将最后一个索引设置为aList.size() - 1以防止indexOutOfRange。由于它永远不会到达末尾,因此 itemC 永远不会被检查,因此 itemC 结束日期保持为空。

我的另一个想法是使用嵌套 for 循环,外部循环查看 currentIndex,嵌套循环查看

我该如何编码以便检查 itemC 并避免 indexOutOfRange?

最佳答案

变量currentIndex将等于aList.size() - 1,从而引用列表中的最后一个元素,因此您可以设置其endDate 就在循环之后:

while (currentIndex < aList.size() - 1) {
// ...
}
aList.get(currentIndex).setEndDate(episodeEnd.toString());

关于java - 迭代循环比较当前索引与下一个索引java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61486297/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com