我想迭代一个Team对象列表,每个对象都有一个字符串和三个整数。我想将它传递给一个方法,该方法将第一个Team对象与第二个对象进行比较,然后是第二个到第三个,依此类推,然后最终根据比较得到返回的枚举器并将其存储到数组列表中。
这是我到目前为止所做的,但是当我运行它时,它会出现一个空值异常。
TeamList = leagueRepository.getTeamList();
int i = 0;
for(Team team: teamList) {
TeamStatus teamStatus = team.leagueStatus(team, team);
verdictArray.add(i, teamStatus);
如何获取列表中的第一个和第二个Team对象?
答案 0 :(得分:2)
如果TeamList
是List
,您可以调用get(0)
获取第一个条目,get(1)
获取第二个条目。
如果您只想对列表进行排序,可以查看此帖子
Java List Sorting: Is there a way to keep a list permantly sorted automatically like TreeMap?
答案 1 :(得分:0)
要获取列表中的第一个和第二个对象,您应该使用list.get(0)
和list.get(1)
。
答案 2 :(得分:0)
最简单的方法是使用索引进行迭代:
for (int i = 0; i < list.size() - 1; i++) {
Team current = list.get(i);
Team next = list.get(i + 1);
// do something with current and next
}
您还可以在每次迭代时存储前一个元素:
Team previous = null;
for (Team current : list) {
if (previous != null) {
// do something with previous and current
}
previous = current;
}
答案 3 :(得分:0)
这只是排序。如果您使用 Collections.sort with comparator ,您可以实现此目的。