[英]update one subelement in an arrayList index
我正在嘗試在ArrayList的索引內更新屬性的值。 主要是,我試圖使用set(index,e)嘗試更新一個子元素,但是我似乎做不到。
我的第一個類文件包含arrayLists擁有的屬性:
public class GenericMissile {
float currentX;
float currentY;
//set the starting location of the missile
//X Loc
public void setLocationX() {
currentX =(float) Math.ceil( Math.random()*801);
//Y Loc
}
public void setLocationY() {
currentY = -100;
}
}
另一個類如下所示:
import java.util.ArrayList;
public class GameManager {
ArrayList<GenericMissile> allM;
public static void main(String[] args) {
GameManager obj = new GameManager();
//create missiles
obj.createMissiles();
}
//add missile to arrayList
void createMissiles() {
//create arraylist of 25 Missiles
allM = new ArrayList<>();
GenericMissile build = new GenericMissile();
for(int i=0;i<25;i++) {
build.setLocationX();
build.setLocationY();
allM.add(build);
}
}
}
我想從索引更新一個子元素,但是,我不知道如何調用特定屬性來更新它。
我嘗試使用allM.set(0,___),但我不知道從GenericMissile類更新currentY屬性的正確語法。
提前致謝
您不需要ArrayList.set()
方法。 相反,您可以通過調用ArrayList.get(int index)
來獲取對象,並對返回的對象進行突變。 它還將反映ArrayList
內部的更改。 例如
allM = new ArrayList<>();
GenericMissile build = new GenericMissile();
for (int i = 0; i < 25; i++) {
build.setLocationX();
build.setLocationY();
allM.add(build);
}
GeneriMissile someMissile = allM.get(0);
someMissile.setLocation ... // do something with it
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.