2012-03-08 96 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