Java - 使用Rectangle2D.Double设置的ArrayList

时间:2012-03-08 12:51:22

标签: java arraylist

我创建这个只是为了测试我的主程序之外的东西。我在我的主程序中遇到了这个错误,我正试图修复它。我不确定这是否是最好的方法,但我有一个ArrayList,并希望能够将其中的值替换为不可能被击中的东西。或者从阵列中删除它而不影响长度和其他值。所以poisition 0仍然是0.如果删除了2,那么位置4仍然是位置4。这是我目前的代码。

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

那么,是否有一种使用ArrayLists获取desiered函数的简单方法,以及如何在arraylist中设置'设置'值。

谢谢,凯尔。

1 个答案:

答案 0 :(得分:3)

ArrayList#set接受参数,索引以及要存储在索引位置的对象。在你的代码中,我计算了五个参数。

如果要用新的矩形替换列表中的第一个矩形,那么它将是:

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