2012-03-08 27 views
1

我創建這個只是爲了測試我的主程序之外的東西。我在我的主程序中出現了這個錯誤,現在正在嘗試修復它。我不確定這是否是最好的方法,但是我有一個ArrayList,並希望能夠將其中的值替換爲不可能被擊中的東西。或者在不影響長度和其他值的情況下將其從陣列中移除。所以0仍然是0。如果位置2已被移除,位置4仍然是位置4。這是我目前的代碼。Java - ArrayList使用Rectangle2D.Double設置

import java.util.ArrayList; 
import java.awt.geom.Rectangle2D; 

public class Main 
{ 
    public static void Main(String [] args) 
    { 
     ArrayList xcoords = (new Objects()).xco(); 

     for(int x = 0 ; x < xcoords.size() ; x++) 
     { 
      System.out.println(xcoords.get(x)); 
     } 

     System.out.println("Start Replace"); 
     xcoords.set(0,10,15,34,54); 
     System.out.println("End replace"); 

     for(int x = 0 ; x < xcoords.size() ; x++) 
     { 
      System.out.println(xcoords.get(x)); 
     } 
    } 
} 

而且我的對象類

import java.util.ArrayList; 
import java.awt.geom.Rectangle2D; 

public class Objects 
{ 
    ArrayList<Integer> xco() 
    { 
     ArrayList rectangles = new ArrayList(); 

     rectangles.add((new Rectangle2D.Double(5,10,20,100))); 
     rectangles.add((new Rectangle2D.Double(4555,1566,20,100))); 
     rectangles.add((new Rectangle2D.Double(73,45,20,100))); 
     rectangles.add((new Rectangle2D.Double(1463,98623,20,100))); 

     return rectangles; 
    } 
} 

錯誤

Error Code

那麼,有沒有使用的ArrayList得到desiered功能,我將如何去「設置的easior方式'數組列表中的值。

謝謝,凱爾。

+0

到底是什麼*這個錯誤*?您是否有異常,錯誤消息或意外行爲? – 2012-03-08 12:57:23

+0

對不起,我完全忘記了包含錯誤,現在我將編輯。 – Kyle93 2012-03-08 13:20:28

回答

3

ArrayList#set需要參數,索引和要存儲在該索引位置的對象。在你的代碼中,我計算了五個參數。

如果你想用一個新的替換列表中的第一個矩形,那麼這將是:

xcoords.set(0, new Rectangle2D.Double(10,15,34,54)); 
      ^^---------------------------------^ 
      | The new rectangle 
      The index 
+0

非常感謝你,像魅力一樣工作!很明顯,現在你發佈了它,謝謝很多。被選爲最佳答案 – Kyle93 2012-03-08 13:38:08