Как выполнить арифметику со значениями ArrayList - PullRequest
1 голос
/ 13 марта 2019

Я новичок в использовании ArrayList и хочу добавить число к значению, хранящемуся в элементе. В основном я хочу сделать arlist (0) + = число. вот мой код (я только вставил соответствующие части).

ArrayList<Integer> snakex = new ArrayList<Integer>();
snakex.add(630);

Я не уверен, как идти дальше. Я пробовал:

snakex.get (0) + = 5;

При этом я получаю сообщение об ошибке «Левая часть назначения должна быть переменной».

Как бы я мог изменить значение snakex (0) с 630 на 635?.

Спасибо!

Ответы [ 4 ]

1 голос
/ 13 марта 2019

Вы используете метод ArrayList.get(), который возвращает целое число, и когда вы добавляете это значение к целому числу, оно выдает ошибку, что справедливо.Теперь вы должны использовать метод get() в сочетании с методом set() следующим образом:

//index to change, so in future you don't need to 
//change whole code just change value of 'i'
int i = 0; 
snakex.set(i, snakex.get(i)+5);  //first calls the 'get()' method and then sets that value

Для получения дополнительной информации о ArrayList нажмите здесь

0 голосов
/ 13 марта 2019

Здесь я приведу пример для arrayList:

ArrayList<Integer> snakex = new ArrayList<Integer>();

        snakex.add(630);
        snakex.add(640);
        snakex.add(650);
        snakex.add(660);

        for (int index = 0; index < snakex.size(); index++) {
            Integer item=snakex.get(index);//getting item for position
            snakex.set(index,(item+5)); // It is adding 5 with each item and storing tht position
        }

        // print each item using for each
        for (Integer item:snakex) {
            System.out.println(item+" ");
        }

        // delete item which value is 640
        for (int index = 0; index < snakex.size(); index++) {
            Integer item=snakex.get(index);//getting item for position

            if(item==640){
                snakex.remove(item);
            }
        }

Для получения дополнительной информации, пожалуйста, посетите здесь

Надеюсь, это поможет вам.

Спасибо:)

0 голосов
/ 13 марта 2019

Вы можете использовать метод set() класса java.util.ArrayList для замены существующего элемента ArrayList в Java.Метод set(int index, E element) принимает два параметра: первый - это индекс элемента, который вы хотите заменить, а второй - это новое значение, которое вы хотите вставить.

т.е.

snakex.set(0, snakex.get(0)+5)

0 голосов
/ 13 марта 2019

То, что вы в основном делаете:

snakex.get(0) += 5 -> 630 += 5 -> 635; 

Он не знает, что оттуда делать.Вместо этого выполните:

snakex.set(0, snakex.get(0) + 5)

Метод set определяется set (int index, Object o).Get (int index) получает значение по указанному индексу.Набор (int index, Object o) устанавливает значение по указанному индексу для объекта.

...