繁体   English   中英

用更多列替换Arraylist

[英]Replace in a Arraylist with more Columns

因此,对于分配,我需要替换ArrayList中的Element。 例如,我有一个团队班

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

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

我想您有一个Team对象的ArrayList,并且您想更改具有特定ID的团队的积分吗?

为此,您可以执行以下操作:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM