嘿我正在研究一些代码,想要更改存储类的arraylist的整数的值,在我的代码中,我一直在访问类的不同实例而没有使用
arrayListName.get(index).variableName
并且未尝试使用
进行设置arrayListName.set(index).variableName = X;
但是set似乎想要用于更改包含原始数据而不是类等的arraylist的参数
这是我的代码
//ARRAYLIST DECLARATION
ArrayList<Ship> ship_arraylist = new ArrayList<Ship>();
void setup() {
//ARRAYLIST INITIALIZE
ship_arraylist = new ArrayList<Ship>();
//LOAD DATA
loadData();
}//end Setup()
void loadData() {
String[] lines = loadStrings("Data.csv"); // files must be in the data folder
for (int i = 0; i<lines.length; i++) {
ship_arraylist.add(new Ship(lines[i]));
}// end for loop
}// end loadData
class Ship {
int Alive=0;//1=Alive 0=Dead
Ship(String line) {
String[] parts = line.split(",");
Alive = int(parts[1]);
}
}
然后我有一个mouseClicked函数,这样如果点击一艘船Alive设置为0,可能应该使用布尔值,但它只是一个正在进行中的大工作atm,我已经尝试过.setVariableName()之前和它给了一个
"setVariableName(int)" does not exist
非常感谢帮助!!
答案 0 :(得分:1)
好吧,如果您的db.collection.distinct("date").sort({date:1})
包含对象,则可以执行此操作(假设ArrayList
为variableName
):
public
您的arrayListName.get(index).variableName=x;
仅处理其包含的对象,更改包含对象的属性值不是在数组列表中设置值,而是在包含的对象上设置值。
ArrayList
方法仅用于在列表中的指定索引处设置项目,以便将set
替换为另一个。
Ship
答案 1 :(得分:1)
假设你有一个这样的课程:
class MyClass{
int x = 0;
}
您可以像这样创建MyClass
的实例:
MyClass mc = new MyClass();
您可以在该实例中设置x
变量,如下所示:
mc.x = 42;
同样,我们可以创建ArrayList
并向其添加MyClass
的实例:
ArrayList<MyClass> mcList = new ArrayList<MyClass>();
mcList.add(new MyClass());
现在,要在x
的特定索引处设置MyClass
实例的ArrayList
变量,您可以将其视为两个步骤:
MyClass mc = mcList.get(0); //get the MyClass instance
mc.x = 42; //set the x variable
您可以将其缩短为一行:
mcList.get(0).x = 42;
答案 2 :(得分:0)
你说你在Arraylist中有对象,所以你需要在Arraylist中获取对象,然后设置它的变量
arrayListName.get(index).setX(X);