更改类中的整数值,这是在arraylist中?

时间:2016-11-21 14:36:22

标签: java processing

嘿我正在研究一些代码,想要更改存储类的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

非常感谢帮助!!

3 个答案:

答案 0 :(得分:1)

好吧,如果您的db.collection.distinct("date").sort({date:1}) 包含对象,则可以执行此操作(假设ArrayListvariableName):

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);