如何更新 List<Class> 中的特定值?

How to update a specific value in List<Class>?

我需要更新 List<Cards> 中的一项数据。 Class 卡片看起来像这样:

public class Cards implements Comparable<Cards>{
private int cardImage, cardID, cardScore;

public Cards(int cardImage, int cardID, int cardScore){
    this.cardImage = cardImage;
    this.cardID = cardID;
    this.cardScore = cardScore;
}
public int getImage(){
    return cardImage;
}
public int getId(){
    return cardID;
}
public int getScore(){return cardScore;}

@Override
public int compareTo(Cards o) {
    return this.cardID > o.cardID ? 1 : (this.cardID < o.cardID ? -1 : 0);
}

在我的 MainActivity 类中,我启动了 List cardsList = new ArrayList<>(); 并像这样填充它

                for (i = 0; i < lvl; i++) {
                cardsList.add(new Cards(Constants.imageNumber[drawCard[i]], drawId[i], cardScore[i]));
            }

现在我只想更新 cardScore[i] 的值。我该怎么做?

为您的 Cards class 创建设置器,然后您可以在使用 List#get 获取特定索引处的卡片后调用这些设置器。

public class Cards implements Comparable<Cards>{
    // other methods omitted for brevity...
    public void setCardScore(int cardScore){
        this.cardScore = cardScore;
    }
}
// Usage:
cardsList.get(i).setCardScore(newCardScore);