2016-04-20 106 views
0

我有一個對象(探空儀(X,Y,R,位置))的值whene我創建探空儀的列表我想改變的位置值i使用:改變列表的java

int sizel =arSonde.size(); 
    for(int i=0;i<sizel;i++){ 
     double x1=arSonde.get(i).x; 
     double y1=arSonde.get(i).y; 
     double rayn=arSonde.get(i).rayon; 
     double x2=arrayAction.get(0).x; 
     double y2=arrayAction.get(0).y; 
     Random random=new Random(); 

     double D =rand.nextDouble(); 
     double rayA=arrayAct.get(0).rayon; 
     if(D<rayA){ 
     arSonde.set(pos,5); 
     } 

我使用:

list.set(pos,element); 
+3

您能否提供示例輸入和預期輸出以更清晰地表明您所要求的內容?如果你想要改變列表中元素的位置,使用Collections.swap(list,i,j); – Adam

+0

沒有位置它是對象探空儀中的變量我將對象探測器添加到arSonde(arraylist),當我用rayA測試D時,我想更改pos的值 – Ilyes

+0

什麼是「探測器」? – Adam

回答

1

假設你想設置你的探空對象的位置屬性,並給予你的領域似乎是公衆......

arSonde.get(i).position = 5; 

你調用arSonde.set(pos, 5)不起作用,因爲

  • POS是沒有定義,或者至少在你已經共享
  • 集(代碼中定義)期望(指數,元素) - 索引爲內的整數索引該陣列,現場的不是名稱

如果探空儀是不可改變的,或者你需要一個不同的實例你總是可以創建一個新的實例,並使用set(索引,對象)調用...

arSonde.set(i, new Sonde(x1, y1, rayn, 5));