Arraylist для сбора данных из массива JSON

Я трачу слишком много времени, чтобы читать о list - collection в java, и я не могу найти лучшего решения, чем Arraylist, для сбора данных из массива JSON и редактирования данных, если они существуют по ключу в mylist или, если не существуют, просто поместите модель в mylist. Я застреваю в двух разных проектах над одной и той же проблемой.

  1. Я не могу редактировать тип int в моем Arraylist через Arraylist for loop.
  2. Не могу найти модель в arrayylist по ключу из массива JSON и отредактировать новый параметр.

Кто-нибудь может сказать мне, где я перепуталась? Вот код для первой ситуации

if (kolekcija.get(Id).isEmpty()){
    kolekcija.get(Id).add(model);
} else {
    try {
        boolean isEmptyModel = false;
        for (int i = 0; i < kolekcija.get(Id).size(); i++){
            if (kolekcija.get(Id).get(i).getName.equals(model.Name)) {
                double dva = kolekcija . get (Id).get(i).getSum();
                kolekcija.get(Id).get(i).setSum(dva + 1.00);
            } else {
                isEmptyModel = true;
            }
        }
        if (isEmptyModel) {
            kolekcija.get(Id).get(i).add(model);
            isEmptyModel = false;
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

А вот код для второй ситуации

// inside for loop to collect json object
MyModel model = new MyModel();
model.setregister(reg);
boolean isEmptyModel = false;

if (listamodela.size() == 0){
    listamodela.add(model);
}

for(int i = 0; i < listamodela.size(); i++ ){
    if (listamodela.get(i).getregister().equals(reg)) {
        listamodela.get(i).addValueToList(value);
    } else {
        isEmptyModel = true;
    }
}

if (isEmptyModel){
    listamodela.add(model);
    isEmptyModel = false;
}

Я пробовал несколько решений - содержит, но у меня всегда одна и та же проблема.

Так и не нашел хорошего java-редактора для android. Вы не используете студию android?
Themelis 21.12.2018 09:19
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
80
1

Ответы 1

Надеюсь, я правильно понял вопрос, вы пытаетесь сохранить данные по ключу, и если ключ уже существует в коллекции, переопределить эти данные / продолжить, не отменяя эти данные?

В этом случае вы можете использовать коллекцию Map вместо коллекции списка. Коллекция Map сопоставляет ключ и значение, и ключ не может повторяться дважды (ключи хранятся в коллекции Set, что означает, что дублирование не допускается).

Я бы посоветовал почитать о Map и HashMap.

https://www.tutorialspoint.com/java/java_map_interface.htm

Другие вопросы по теме