【问题标题】:Replace in a Arraylist with more Columns用更多列替换 Arraylist
【发布时间】:2018-01-31 10:24:29
【问题描述】:

因此,对于一个作业,我需要替换 ArrayList 中的一个元素。例如,我有一个团队类

class Team {
  int id, int points;
  String name;
}

我需要在列表中找到团队的 ID 并将积分替换为新积分。我知道我可以使用 list.get(i).id 获取 ID 的索引,但我不知道如何替换那里的点。我知道有一个 list.set() 命令,但我没有找到如何替换 ArrayList 中团队的点,因为 set 命令不接受“i”作为参数。 已经提前谢谢了

【问题讨论】:

标签: java arraylist


【解决方案1】:

我想你有一个 Team 对象的 ArrayList,并且你想改变一个具有特定 id 的团队的点数?

为了做到这一点,你可以这样做:

for(int i = 0; i < yourlist.size(); i++)
 if (yourlist.get(i).id == yourID)
    yourlist.get(i).points += 1;
    break;

【讨论】:

    【解决方案2】:

    列表的每个元素都是Team。如您所说,首先您需要获取具有要更改其点的Team 的ID 的元素Team。为此,您需要以某种方式遍历列表并找到这样的元素。注意,List&lt;T&gt;.Get(int i) 将给出列表中索引i 处的元素,而不是ID 为i 的Team。然后,要设置Team 的点,可以直接赋值,或者更好的是,定义和使用setter 方法。 List&lt;T&gt;.Set(int i, T elem) 替换了索引i 处的Team,为Team elem,所以它不应该是你想要做的,因为points,你想要改变的东西,可以直接改变该实例已存在于列表中。要使用Set,您必须使用points 的新值创建一个新的Team 实例。

    【讨论】:

      猜你喜欢
      • 2015-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多