更改ArrayList中类的整数值?
嘿我工作的一些代码,想用更改ArrayList中类的整数值?
arrayListName.get(index).variableName
改变存储类的的ArrayList一个整数值,在我的代码,我已经访问类的不同实例没有问题,也没有尝试设置他们
arrayListName.set(index).variableName = X;
但设置似乎想参数改变数组列表保存原始数据,而不是类等
这是我的代码
//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功能,因此,如果被点击一艘船活着被设置为0,也许应该使用布尔本但它只是一个进展中的工作大ATM,我已经试过了.setVariableName( )之前,它给了一个
"setVariableName(int)" does not exist
真的很感谢帮助!
你说你有一个ArrayList中的对象,所以你需要获取对象ArrayList中,然后设置其变量
arrayListName.get(index).setX(X);
好了,如果你ArrayList
包含了你可以做到这一点的对象(假设variableName
是public
):
arrayListName.get(index).variableName=x;
你ArrayList
只包含的对象交易,并改变包含对象的属性值不设在数组列表中的值,但对包含3 ned对象。
set
方法仅用于设置列表中指定索引处的项目,在您的情况下,用另一个替换Ship
。
arrayListName.set(index, new Ship());
这工作完美!太感谢了 ! –
比方说,你有一个这样的类:
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());
现在,在ArrayList
设置的MyClass
实例的x
变量在一个特定的指数,你可以把它作为两个步骤:
MyClass mc = mcList.get(0); //get the MyClass instance
mc.x = 42; //set the x variable
可以缩短到一个单一的线路是:
mcList.get(0).x = 42;
你可以发布你的代码吗? – pleft
你认为'arrayListName.set(index)'做了什么? –