gpt4 book ai didi

java - 如何删除 ArrayList 的项目并更新元素的索引

转载 作者:行者123 更新时间:2023-12-01 22:11:40 25 4
gpt4 key购买 nike

我有一个ArrayList,它存储名为QuestionText 的对象。这是下面对象的类。

package me.bigbaddevil7.QnA;

public class QuestionText {
int index;
String username;
String message;

public QuestionText(int index, String username, String message){
this.index = index;
this.username = username;
this.message = message;
}


public void setIndex(int i){
index = i;
}

public void setUsername(String user){
username = user;
}

public void setMessage(String msg){
message = msg;
}

public int getIndex(){
return index;
}

public String getUsername(){
return username;
}

public String getMessage(){
return message;
}
}

我遇到的这个问题是因为所有问题对象都将存储在稍后可以访问和操作的 ArrayList 中,并且我希望索引能够正确更新。

例如,我们添加了“Abby”、“Bob”、“Carl”。对应的索引为0、1、2。如果我做了一个简单的删除(1)。那么它将是“Abby”、“Carl”,显示的索引是 0,2,而我想要 0,1。使用 getIndex() 显示索引。

我研究了数组如何处理删除项目并将数组复制到新项目,但由于这种情况可能发生很多很多次,我不知道这是否是解决此问题的最佳方法。

最佳答案

您正在解决这个问题,就好像索引是 QuestionText 类的属性一样。然而,事实并非如此。更改 ArrayList 中问题的顺序不应影响 QuestionText 对象。索引是其在 ArrayList 中的位置的结果;这不是问题的本质部分。

我将从 QuestionText 类中完全删除 index 变量和关联的 getter/setter。该索引取决于 ArrayList 类。与数组一样,这些索引是固定的,从 0 开始。请改用 ArrayList 中的索引。

关于java - 如何删除 ArrayList 的项目并更新元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31712600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com