【问题标题】:How to Iterate through List of Objects, passing to method then store return value in array list?如何遍历对象列表,传递给方法然后将返回值存储在数组列表中?
【发布时间】:2013-11-21 11:26:02
【问题描述】:

我想遍历一个 Team 对象列表,每个对象都有一个字符串和三个整数。我想将它传递给一个方法,该方法将第一个 Team 对象与第二个对象进行比较,然后是第二个到第三个对象,依此类推,最后根据比较得到返回的枚举数并将其存储到数组列表中。

这是我目前所拥有的,但是当我运行它时,它会出现一个空值异常。

TeamList = leagueRepository.getTeamList();
    int i = 0;

    for(Team team: teamList) {
        TeamStatus teamStatus = team.leagueStatus(team, team);
        verdictArray.add(i, teamStatus);

如何获取 List 中的第一个和第二个 Team 对象?

【问题讨论】:

  • 什么是verdictArray 以及如何声明和初始化它。
  • 听起来像是对这些对象进行排序

标签: java arrays list arraylist


【解决方案1】:

如果TeamListList,您可以调用get(0) 获取第一个条目,调用get(1) 获取第二个条目。

如果你只想对列表进行排序,你可以看看这篇文章

Java List Sorting: Is there a way to keep a list permantly sorted automatically like TreeMap?

【讨论】:

  • 是的。这是他问题的答案。
【解决方案2】:

要获取列表中的第一个和第二个对象,您应该使用list.get(0)list.get(1)

【讨论】:

    【解决方案3】:

    最简单的方法是使用索引进行迭代:

    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;
    }
    

    【讨论】:

      【解决方案4】:

      只不过是排序而已。如果您使用 Collections.sort 和比较器,您可以实现这一点。

      【讨论】:

        猜你喜欢
        • 2018-09-28
        • 2023-03-22
        • 1970-01-01
        • 2016-05-19
        • 1970-01-01
        • 2019-01-01
        • 2011-08-24
        • 1970-01-01
        • 2018-08-19
        相关资源
        最近更新 更多