Java - ArrayList устанавливается с использованием Rectangle2D.Double - PullRequest
1 голос
/ 08 марта 2012

Я создал это только для того, чтобы проверить вещи вне моей основной программы. Я получил эту ошибку в своей основной программе и сейчас пытаюсь ее исправить. Я не уверен, что это лучший способ сделать это, однако у меня есть ArrayList и я хочу иметь возможность заменить значения в нем на что-то, что никогда не удастся ударить. Или удалите его из массива, не влияя на длину и другие значения. Таким образом, положение 0 по-прежнему равно 0. Позиция 4 по-прежнему соответствует позиции 4, если опция 2 была удалена. Вот мой текущий код.

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

Error Code

Итак, есть ли более простой способ использования ArrayLists для получения нужной функции и как мне настроить «значение» в массиве.

Спасибо, Кайл.

1 Ответ

3 голосов
/ 08 марта 2012

ArrayList#set принимает аргументы, индекс и объект, который вы хотите сохранить в этой позиции индекса. В вашем коде я считаю пять параметров.

Если вы хотите заменить первый прямоугольник в списке новым, то это будет:

xcoords.set(0, new Rectangle2D.Double(10,15,34,54));
            ^  ^---------------------------------^
            |  The new rectangle
            The index
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...