Я пытаюсь добавить объект изображения (изображение черепахи) в ArrayList и каждый отдельный объект появляется в другом месте на экране. Когда я добавляю изображение в ArrayList, я получаю ошибку IndexOutofBounds, и только один из объектов появляется на экране.Исключение IndexOutofBounds при добавлении изображения в ArrayList
Я попытался установить индекс на меньшее значение, но на экране появится только одна Черепаха.
ArrayList<Turtle> list = new ArrayList<Turtle>();
public void update(Graphics g) {
for(int i=0; i<3; i++){
Random randomNumber = new Random();
int r = randomNumber.nextInt(50);
list.add(i+r, turtle);
turtle.update(g);
}
}
Обновление метод в моем классе Turtle выглядит следующим образом:
public void update(Graphics g) {
// Move the turtle
if (x < dest_x) {
x += 1;
} else if (x > dest_x) {
x -= 1;
}
if (y < dest_y) {
y += 1;
} else if (y > dest_y) {
y -= 1;
}
// Draw the turtle
g.drawImage(image, x, y, 100, 100, null);
}
Спасибо за вашу помощь заранее. Дайте мне знать, если вам нужна дополнительная информация для сортировки этой проблемы.
'я + r' вероятно, больше, чем размер вашего списка. – Tyler
'ArrayList' больше похож на' List', чем на массив. Он не превышает количество элементов в нем. Не путайте поле 'initialCapacity', которое определяет, сколько выделяется MEMORY. Вы все еще ограничены нумерацией элементов от 0 до ArrayList.size-1. – Tenner